#include <iostream>
#include <stack>
#include <cstring>
using namespace std;

int getVal(char x) {
    if (x == '*' || x == '/') return 3;
    else if (x == '+' || x == '-') return 2;
    else if (x == '$') return 1;
    else return 0;
}

double compute(double a, double b, char op) {
    double res=0;
    if (op == '*') res = a*b;
    else if (op == '/') res = a/b;
    else if (op == '+') res = a+b;
    else if (op == '-') res = a-b;

    return res;
}

int main() {
    stack<double> nums;
    stack<int> op;

    op.push('#');

    string s;

    while (cin >> s) {
        
        s += '$';
        int i = 0;
        int n = s.size();
        while (i < n) {//当没有匹配到末尾时
            float res = 0;
            if (s[i] >= '0' && s[i] <= '9') {
                while (s[i] >= '0' && s[i] <= '9') {
                    res = res * 10 + s[i] - '0';
                    i++;
                }nums.push(res);
            }else{
                if(getVal(op.top())<getVal(s[i])) {
                    op.push(s[i]);
                    i++;
                }
                else{
                    char o=op.top();
                    op.pop();
                    double num2=nums.top();
                    nums.pop();
                    double num1=nums.top();
                    nums.pop();
                    num1=compute(num1,num2,o);
                    nums.push(num1);
                }
            }
            
        }
        cout<<nums.top()<<endl;
    }
    return 0;
}
// 64 位输出请用 printf("%lld")