#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <ctype.h>
#define NMAX 100000

int *stack;  int top=0;

void push(int x)
{
  if(top>NMAX-1){
    free(stack);  exit(-1);
  }
  stack[top++]=x;
}

int pop()
{
  if(top<0){
    free(stack);  exit(-1);
  }
  return stack[--top];
}

void solve()
{
  bool intflag=false;
  int temp=0;  char ch;
  while(1){
    fscanf(stdin,"%c",&ch);
    if(ch=='\n')  break;
    else if(ch==' '){
      if(intflag){  push(temp);  temp=0;  intflag=false;  }
    }else if(isdigit(ch)){  temp=temp*10+((int)ch-'0');  intflag=true;  }
    else if(ch=='+'){  int t=pop();  stack[top-1] +=t;  }
    else if(ch=='-'){  int t=pop();  stack[top-1] -=t;  }
    else if(ch=='*'){  int t=pop();  stack[top-1] *=t;  }
  }
}

int main()
{
  stack=malloc(NMAX*sizeof(int));
  solve();
  printf("%d\n",stack[0]);
  free(stack);
  return 0;
}