#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define MAX 200

void initialize();
bool isEnpty();
bool isFull();
void push(int);
int pop();
int S[MAX];
int top;

int main(){
  int x, num1, num2;
  char s[100];

  initialize();

  while( scanf("%s", s) != EOF ){
    if ( s[0] == '+' ){
        num1=pop();
        num2=pop();
        push(num2+num1);

    } 
    
    else if ( s[0] == '-' ){
        num1=pop();
        num2=pop();
        push(num2-num1);
    } 
    
    else if ( s[0] == '*' ){
        num1=pop();
        num2=pop();
        push(num2*num1);
    } 
    
    else {
      x = atoi(s);
      push(x);
    }
  }

  printf("%d\n",pop());
  return 0;
}

void initialize(){
    top=0;
}

bool isEnpty(){
    return top == 0;
}

bool isFull(){
    return top >= MAX;
}

void push(int x){
    if(isFull()){
        fprintf(stderr, "オーバーフロー\n");
        exit(0);
    }
    top++;
    S[top]=x;
}

int pop(){
    if(isFull()){
        fprintf(stderr, "アンダーフロー\n");
        exit(1);
    }
    top--;
    return S[top+1];
}
