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 <algorithm>
#include <string>

using namespace std;
stack<int> st;

int main(void){
  string s;
  while(cin>>s){
    if (!s.compare("*")||!s.compare("+")||!s.compare("-")){
      int p1=st.top();
      st.pop();
      int p2=st.top();
      st.pop();
      if (!s.compare("*"))
	st.push(p1*p2);
      else if (!s.compare("+"))
	st.push(p1+p2);
      else
	st.push(p2-p1);
    }else{
      st.push(stoi(s));
    }
  }
  cout<<st.top()<<endl;
  return 0;
}
      

