#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int top=0,s[1000];//top为栈顶序号 
void push(int x)//进入栈 
{  s[++top]=x;//top加1之后将元素插入因为需要s[0]为空 
}
int pop()//栈顶元素 
{  top--;
   return s[top+1];
}
int main()
{  int a,b;
   char s[100],c; 
   do
   {  scanf("%s",&s);
      if(s[0]=='+')
      {  a=pop();
         b=pop();
         push(a+b);
      }
      else if(s[0]=='-')
      {  b=pop();//b在a的后面 
         a=pop();
         push(a-b);
      }
      else if(s[0]=='*')
      {  a=pop();
         b=pop();
         push(a*b);
      }
      else push(atoi(s));
   }while((c=getchar())!='\n');
   printf("%d\n",pop());
   return 0;
} 
