#include <stdio.h>
#include <stdlib.h>
#define N 1000
void push(int); //スタックに追加
int pop(void);//スタックから取り出す
//char   stack[N];
int top=0;//スタックの先頭の位置

char   stack[N];
int main(){
  int x,y;
  
  
 
  while(scanf("%s",stack) != EOF){

    if(stack[0] == '+')
      {
	push(pop()+pop());
      }
    else if(stack[0] == '-'){
      x = pop();
      y = pop();
      push(y-x);
    }
    else if(stack[0] == '*'){
      x = pop();
      y = pop();
      push(y*x);
    }
    else {
      x = atoi(stack);
      push(x);
    }
  }

  printf("%d\n",pop());


  return 0;
}


void push(int num){
  top++;
  stack[top] = num ; 
  
}

int pop(void){
  top--;
  return stack[top+1];
}