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 <cstdlib>
using namespace std;
int main() {
	const int  n =100;
	stack<int> i;
	char s[n];
	int a, b;
	while (cin >> s) {
		if (s[0] == '+') {
			a = i.top(); i.pop();
			b = i.top(); i.pop();
			i.push(a + b);
		}
		else if (s[0] == '-') {
			a = i.top(); i.pop();
			b = i.top(); i.pop();
			i.push(b - a);
		}
		else if (s[0] == '*') {
			a = i.top(); i.pop();
			b = i.top(); i.pop();
			i.push(a*b);
		}
		else i.push(atoi(s));

	}
	cout << i.top() << endl;
	return 0;
}