Notes

Template in C

Constraints

2 ≤ the number of operands in the expression ≤ 100
1 ≤ the number of operators in the expression ≤ 99
-1 × 109 ≤ values in the stack ≤ 109

Input

An expression is given in a line. Two consequtive symbols (operand or operator) are separated by a space character.

You can assume that +, - and * are given as the operator and an operand is a positive integer less than 106

Output

Print the computational result in a line.

Examples

Input

1 2 +


Output

3


Input

1 2 + 3 4 - *


Output

-3
#include <iostream>
#include <sstream>
#include <string>
#include <vector>

using namespace std;

int main()
{
	string s;
	getline(cin, s);

	istringstream is(s);
	vector<int> st;
	while (is >> s)
	{
		size_t t = st.size();
		switch (s[0]) 
		{
		case '+': st[t - 2] += st[t - 1]; st.erase(st.end() - 1); break;
		case '-': st[t - 2] -= st[t - 1]; st.erase(st.end() - 1); break;
		case '*': st[t - 2] *= st[t - 1]; st.erase(st.end() - 1); break;
		default: st.push_back(stoi(s));
		}
	}

	cout << st[0] << endl;

	return 0;
}