#include<iostream>
#include<cstdio>
#include<string>
#include<stack>
using namespace std;
int GetOrder(char x){
    if(x=='#'){
        return 1;
    }
    else if(x=='$'){
        return 2;
    }
    else if(x=='+'||x=='-'){
        return 3;
    }
    else{
        return 4;
    }
}
double GetNumber(int &i,string str){
    double number=0;
    while(str[i]>='0'&&str[i]<='9'){
        number=number*10-'0'+str[i++];
    }
    return number;
}
double CalCulate(double x,double y,char op){
    if(op=='+'){
        return x+y;
    }
    else if(op=='-'){
        return x-y;
    }
    else if(op=='*'){
        return x*y;
    }
    else{
        return x/y;
    }
}
int main(){
    string str;
    while(getline(cin,str)){
        if(str=="0"){
            break;
        }
        stack<double> number;
        stack<char> operate;
        operate.push('#');
        str+="$";
        int i=0;
        while(i<str.size()){
            if(str[i]==' '){
                ++i;
            }
            else if(str[i]>='0'&&str[i]<='9'){
                number.push(GetNumber(i, str));
            }
            else{
                if(GetOrder(str[i])>GetOrder(operate.top())){
                    operate.push(str[i++]);
                }
                else{
                    double y=number.top();
                    number.pop();
                    double x=number.top();
                    number.pop();
                    number.push(CalCulate(x, y, operate.top()));
                    operate.pop();
                }
            }
        }
        printf("%.2f\n",number.top());
    }
    return 0;
}