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 <cstdlib>
using namespace std;
int n;
int S[100];
int s =0;
int main()
{
 	string str;
 	getline(cin, str);
 	stringstream ss(str);
 	char val[8];
 	while(!ss.eof())
	 {
	 	ss >> val;
		switch(val[0])
		{
		case '+': --s; S[s-1] += S[s]; break;
		case '-': --s; S[s-1] -= S[s]; break;
		case '*': --s; S[s-1] *= S[s]; break;
		default: S[s++] = atoi(val);
		}
	}
	cout << S[s-1] << endl;
	return 0;
}