#include<stdio.h>
#include<stdlib.h>
#define MAX 101
int A[MAX];//これがスタックの本体
int top=0;//スタックのてっぺん

int isFull(){//満タンだったら1 違ったら0
  if(top>=MAX-1){
      printf("full error\n");
      return 1;
    }
  return 0;
}

int isEmpty(){//空だったら1 　違ったら0
  if(top==0){
      printf("empty error\n");
      return 1;
    }
  return 0;
}

void push(int x){
  if(isFull()==1)return ;//error
  A[++top]=x;
}


int pop(void){
  if(isEmpty()==1)return -1;//0　が返ったらエラー
  top--;
  return A[top+1];
}


int main(){
  int x;
  char s[100];
  int a;

  
  while( scanf("%s", s) != EOF ){
      if ( s[0] == '+' ){
	  push(pop()+pop());
	}
      else if ( s[0] == '-' ){
	  a=pop();
	  push(pop()-a);
	}
      else if ( s[0] == '*' ){
	  push(pop()*pop());
	}
      else{
	  x = atoi(s);
	  push(x);
	}
    }
  printf("%d\n",pop());

  return 0;
}
//push(int)

