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

struct stack{
  int a[101];
  unsigned n;
  stack():a(),n(0){}
  int pop(){return a[--n];}
  void push(int in){a[n++]=in;}
};

int main(){
  stack s;
  char buf[10];

  while(scanf("%s",buf) != EOF){
    int a,b;
    switch(buf[0]){
      case '+' : a = s.pop(); b = s.pop(); s.push(b+a); break;
      case '-' : a = s.pop(); b = s.pop(); s.push(b-a); break;
      case '*' : a = s.pop(); b = s.pop(); s.push(b*a); break;
      default  : s.push(atoi(buf));
    }
  }
  printf("%d\n",s.pop());
}