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

#define N 100
void initialize(void);
int isEmpty(void);
int isFull(void);
void push(int);
int pop(void);
int top;
int k[N];
int main(){
  char s[N];
  int i,j,b;
  initialize();
  b=scanf("%s",s);
  while(b!=EOF){
    if(s[0]=='+'){
      i=pop();
      j=pop();
      push(i+j);
    }
    else if(s[0]=='-'){
      i=pop();
      j=pop();
      push(i-j);
    }
    else if(s[0]=='*'){
      i=pop();
      j=pop();
      push(i*j);
    }
    
    
    else {
      push(atoi(s));
    }
  }
  printf("%d\n",k[top]);
  return 0;
}

void initialize()
{
  top=0;
}

int isFull()
{
  if(top>=N){
    return 1;
  }
  else{
    return 0;
  }
}

int isEmpty()
{
  if(top==0){
    return 0;
  }
  else{
    return 1;
  }
}

void push(int x)
{
  int r;
  r=isFull();
  if(r==1){
    fprintf(stderr,"overflow\n");
  }
  top++;
  k[top]=x;
}
int pop(){
  int c;
  c=isEmpty();
  if(c==0){
    fprintf(stderr,"underflow\n");
  }
  top--;
  return k[top+1];
}