#include<stdio.h>
#include<assert.h>
#include<math.h>
#include<string.h>
int stack[110];
int top = 0;

void push(int v){ stack[top++] = v; }
int  pop(){ return stack[--top]; }


int main()
{
  char s[1000];
  while(scanf("%s",s)!=EOF)
    {
      if('0' <= s[0] && s[0] <= '9')//新しく読み込んだ要素が数字
		{
			int i,ret=0;
  			int size = strlen(s);
 			 for(i=0;i<size;i++)//何桁の整数か確認している
   	 		{
   		   		ret += (s[i]-'0')*pow(10,size-i-1);
   	 		}
		  push(ret);//新しい要素をプッシュする
		 continue;
		}
	  int a,b;//スタックの要素の上二つを演算にかける
	  b = pop();
	  a = pop();
	  if(s[0] == '+')
	      push(a+b);
	  else if(s[0] == '-')
	    push(a-b);
	  else if(s[0] == '*')
	    push(a*b);
	  else 
	    assert(0);
    }
  printf("%d\n",pop());//スタックにのっかてるやつ取りだす
  return 0;
}

