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

#define MAX 1000
#define TRUE 1
#define FALSE 0

int S[MAX];
int top;

void initialize(void);
int isEmpty(void);
int isFull(void);
void push(int);
int pop(void);

int main(){
  int a,b,x,flog=0;
  char s;
  initialize();
  while(1){
    if((s = getchar()) == '\n') break;
    if((int)s>=48 && (int)s<=57){
      x=(int)s-48;
      if(flog==1){
	a=pop();
	push(a*10+x);
      }
      else push(x);
      flog=1;
    }
    else if(s=='+'){
      flog=0;
      b=pop();
      a=pop();
      push(a+b);
    }
    else if(s=='-'){
      flog=0;
      b=pop();
      a=pop();
      push(a-b);
    }
    else if(s=='*'){
      flog=0;
      b=pop();
      a=pop();
      push(a*b);
    }
    else{
      flog=0;
      continue;
    }
  }
  printf("%d\n",pop());
  return 0;
}

void initialize(){
  top=0;
}

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

int isFull(){
  if(top>=MAX-1) return TRUE;
  else return FALSE;
}

void push(int x){
  if(isFull()==1){
    fprintf(stderr,"ERROR!");
    exit(1);
  }
  top++;
  S[top]=x;
}

int pop(){
  if(isEmpty()==1){
    fprintf(stderr,"ERROR!");
    exit(1);
  }
  top--;
  return S[top+1];
}