#include <cctype>
#include <iostream>
#include <random>
#include <stack>
#include <algorithm>
#include <unordered_map>
using namespace std;
stack<char> op;
stack<float> num;
unordered_map<char, int> prime{{'+',1},{'-',1},{'*',2},{'/',2}};
string str;

void eval(){
    auto b = num.top(); num.pop();
    auto a = num.top(); num.pop();
    auto c = op.top(); op.pop();

    float x;
    if(c == '+') x = a + b;
    else if(c == '-') x = a - b;
    else if(c == '*') x = a * b;
    else if(c == '/') x = a / b;
    num.push(x);
}


int main() {
    
    while (cin >> str) {
        for(int i = 0; i < str.size(); i ++){
            if(isdigit(str[i])){
                float x = 0;
                for(; i < str.size() && isdigit(str[i]); i ++){
                    x = x * 10 + str[i] - '0';
                }
                num.push(x);
                i --;
            }
            else{
                while(!op.empty() && prime[op.top()] >= prime[str[i]])
                    eval();
                op.push(str[i]);
            }
        }
        while (!op.empty()) {
            eval();
        }

        cout << num.top() << endl;
        num.pop();
    }
    return 0;
}
// 64 位输出请用 printf("%lld")