#include<stdio.h>
#include<stdlib.h>

void push(int);
int pop(void);
void calc(char *);//数値計算するだけの関数

int S[100];
int top=0;//スタックの一番上を記憶するための外部変数

int main(){
  int i,num;
  int answer=0, count=0;
  char n[100];

  while(scanf("%s",n) != EOF){
    if( n[0]=='*' || n[0]=='+' || n[0]=='-'){ //演算子かどうか判別
      calc(n);
      count++;
    }else{
      num = atoi(n);//文字型を数値型に変換
      push(num);
    }
  }
  printf("%d\n",S[0]);
  return 0;
}

void calc(char *n){
  int op;
  
  switch(n[0]){
  case '+':
    push(pop() + pop());
    break;
    
  case '-':
    op = pop();
    push(pop() - op);
    break;

  case '*':
    push(pop() * pop());
    break;
  }
}

void push(int n){
  S[top] = n;
  top++;
}

int pop(){
  return S[--top];
}
  

