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>
using namespace std;

const int MAX = 500;
int A[MAX];
int top;

void push(int x)
{
	top++;
	A[top] = x;
}
int pop()
{
	top--;
	return A[top + 1];
}
void solve()
{
	top = 0;
        int a, b;
	char s[100];
	while(cin >> s){
		switch(s[0]){
			case '+': push(pop() + pop()); break;
			case '-': b = pop(); a = pop(); push(a - b); break;
			case '*': push(pop() * pop()); break;
			default: push(atoi(s)); break;
		}
	}
    cout << pop() << endl;
}
int main()
{
    solve();
    return 0;
}
