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 <string>
#include <stack>

using namespace std;

int main(void) {
	string word;
	stack<int> S;
	int x, y;
	while(cin >> word) {
		if (word == "+") {
			x = S.top();
			S.pop();
			y = S.top();
			S.pop();
			S.push(x + y);
		}
		else if (word == "-") {
			x = S.top();
			S.pop();
			y = S.top();
			S.pop();
			S.push(y - x);
		}
		else if (word == "*") {
			x = S.top();
			S.pop();
			y = S.top();
			S.pop();
			S.push(x * y);
		} else {
			S.push(stoi(word));
		}
	}
	cout << S.top() << endl;
}

