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 stackReturn(stack<int> *S){
	int x = (*S).top();
	(*S).pop();
	return x;
}

int main(){
	stack<int> S;
	string str;
	int a;

	while(cin>>str){
		if(str == "+")
			S.push(stackReturn(&S) + stackReturn(&S));
		else if(str == "-"){
			a = stackReturn(&S);
			S.push(stackReturn(&S) - a);
		}else if(str == "*")
			S.push(stackReturn(&S) * stackReturn(&S));
		else
			S.push(atoi(str.c_str()));
	}

	cout<<S.top()<<endl;

	return 0;
}