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 <stack>
#include <string>
#include <cstdlib>
using namespace std;

int main()
{
	stack <int> s;
	int x,y,z; string ret;
	
	while(cin >> ret){
		if(ret == "+" || ret == "-" || ret =="*" || ret == "/"){
			y = s.top(); s.pop();
			x = s.top(); s.pop();
			switch(ret[0]){
				case '+': z = x + y; break;
				case '-': z = x - y; break;
				case '*': z = x * y; break;
				case '/': z = x / y; break;
			}
			s.push(z);
		}
		else
			s.push(atoi(ret.c_str()));
	}
	cout << s.top();
	cout << endl;
}