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
//ALDS1_3A

#include <iostream>
#include <cstdlib>
#include <stack>
using namespace std;

int main(){
 stack<int> S;
 int a,b,x;
 string s;

 while(cin>>s){
  if(s[0]=='+'){
   a=S.top();S.pop();
   b=S.top();S.pop();
   S.push(a+b);
  }else if(s[0]=='-'){
    b=S.top();S.pop();
    a=S.top();S.pop();
    S.push(a-b);
  }else if(s[0]=='*'){
    a=S.top();S.pop();
    b=S.top();S.pop();
    S.push(a*b);
  }else{
    S.push(atoi(s.c_str()));
  }
 }
 cout<<S.top()<<endl;
 return 0;
}