#include <iostream>
#include <unordered_map>
#include <stack>
#include <string>
using namespace std;

unordered_map<char,int> um={
    {'#',0},{'$',1},{'+',2},{'-',2},{'*',3},{'/',3}
};
double calculate(double,double,char );
int main() 
{
    ios::sync_with_stdio(false);
    // stack<char> ops;
    // stack<double> res;
    string todouble,todo;
    char c;
    while (getline(cin,todo)) 
    {
        if(todo=="0")
        {
            break;
        }
        stack<char> ops;
        stack<double> res;
        todo=todo+" $";
        ops.push('#');
        todouble.clear();
        for(int i=0;i<todo.size(); )
        {
            c=todo[i];
            if(c<='9'&&'0'<=c)
            {
                todouble.push_back(c);++i;
            }
            else if(c==' ')
            {
                if(todouble!="")
                {
                    res.push(stod(todouble));
                    todouble.clear();
                }
                ++i;

            }
            else
            {
                if(um[ops.top()]<um[c])
                {
                    ops.push(c);++i;
                }
                else
                {
                    double a= res.top();res.pop();
                    double b= res.top();res.pop();
                    char cc=ops.top();ops.pop();
                    double ans=calculate(b,a,cc);
                    res.push(ans);

                }
            }
        }
        printf("%.2f\n",res.top());
        
    }
}

double calculate(double a,double b,char c)
{
    switch (c)
    {
        case '+':
            return a+b;
        case '-':
            return a-b;
        case '*':
            return a*b;
        case '/':
            return a/b;
    }
    return 0;
     
}

// 64 位输出请用 printf("%lld")