#include <iostream>
#include <stack>
#include <iomanip>
using namespace std;
stack<char> opetor;
stack<double> digit;
bool isdigit(char x){
if(x>='0'&&x<='9') return true;
else return false;
}
double getdigit(string x,int& i){
int r=0;
while(isdigit(x[i])){
r=r*10+x[i]-'0';
i++;
}
return double(r);
}
int priority(char x){
if(x=='#') return 1;
else if(x=='$') return 2;
else if(x=='+'||x=='-') return 3;
else if(x=='*'||x=='/') return 4;
else return -1;
}
double getvalue(double x,double y,char o){
if(o=='+') return x+y;
else if(o=='-') return x-y;
else if(o=='*') return x*y;
else return x/y;
}
int main() {
string x;
while(getline(cin,x) && x!="0"){
opetor.push('#');
x=x+'$';
int i=0;
while(i<x.length()){
if(x[i]==' ') {
i++;
}
else if(isdigit(x[i])){
digit.push(getdigit(x,i));
}
else{
if(priority(x[i])>priority(opetor.top())){
opetor.push(x[i]);
i++;
}
else{
double d2=digit.top();
digit.pop();
double d1=digit.top();
digit.pop();
double r=getvalue(d1,d2,opetor.top());
opetor.pop();
digit.push(r);
}
}
}
printf("%.2f",digit.top());
cout<<endl;
}
}