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 <cstdlib>
#include <cstdio>
#include <stack>

using namespace std;

int main() {
	stack<int> st;
	int a, b;
	string c;

	while ( cin >> c ) {
		if ( ispunct( c[0] ) ) {
			a = st.top(); st.pop();
			b = st.top(); st.pop();
			if ( c[0] == '+' ) {
				st.push( a+b ); 
			} else if ( c[0] == '-' ) {
				st.push( b-a );
			} else if ( c[0] == '*' ) {
				st.push( a*b );
			}
		} else {
			st.push( atoi( c.c_str()) );
		}
	}

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

