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 <algorithm>
#include <iostream>
#include <string>
using namespace std;
int func();
string s;
int p;

int main(){
  getline(cin,s);
  reverse(s.begin(),s.end());
  cout<<func()<<endl;
}

int func(){
  int res;
  if('0'<=s[p]&&s[p]<='9'){
    int num=s[p]-'0'; p++;
    int k=10;
    while('0'<=s[p]&&s[p]<='9') num=num+(s[p]-'0')*k,p++,k*=10;
    p++;
    return num;
  }
  else{
    char c=s[p++];
    p++;
    int a=func(),b=func();
    if(c=='+') return b+a;
    if(c=='-') return b-a;
    return b*a;
  }
}