#define _CRT_SECURE_NO_WARNINGS
#include"bits/stdc++.h"
#ifdef _DEBUG
#define DBG(n) n
#else
#define DBG(n)
#endif
#define INF         1e9
#define INFLL       1e18
#define EPS         1e-9
#define REP(i,n)    for(ll i=0,i##_len=(n);i<i##_len;++i)
#define REP1(i,n)   for(ll i=1,i##_len=(n);i<=i##_len;++i)
#define REPR(i,n)   for(ll i=(n)-1;i>=0;--i)
#define REPR1(i,n)  for(ll i=(n);i>0;--i)
#define REPC(i,obj) for(auto i:obj)
#define ALL(obj)    (obj).begin(),(obj).end()
#define SETP(n)     cout << fixed << setprecision(n)
using namespace std;
using ll = long long;
template<typename T = ll>inline T in() { T ret; cin >> ret; return ret; }

signed main()
{
	SETP(10);
	string inp;
	while (getline(cin, inp)) {
		stringstream ss(inp);
		stack<double>st;
		for (string s; ss >> s;) {
			if (s == "+" || s == "-" || s == "*" || s == "/") {
				double arg1 = st.top(); st.pop();
				double arg2 = st.top(); st.pop();
				switch (s[0]) {
				case '+':
					st.push(arg2 + arg1);
					break;
				case '-':
					st.push(arg2 - arg1);
					break;
				case '*':
					st.push(arg2 * arg1);
					break;
				case '/':
					st.push(arg2 / arg1);
					break;
				}
			} else {
				st.push(stoi(s));
			}
		}
		cout << st.top() << endl;
	}
}
