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 <bits/stdc++.h>
using namespace std;
int top=-1,Stack[100];
void push(int x){
	Stack[++top] = x;
}
int pop(){
	return Stack[top--];
}
int main()
{	
	string str;
	int x,y;
	while(cin>>str){
		if(str!="+" && str!="-" && str!="*")
			push(atoi(str.c_str()));
		else{
			x = pop();
			y = pop();
			if(str== "+") push(x+y);
			if(str== "-") push(y-x);
			if(str== "*") push(x*y);
		}
	}
	cout<<pop()<<endl;
	return 0;
}
	


