#include <stdio.h>
#include <string.h>
#define MAX 101

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

int stack[MAX];
int top;

main(){
  char *s; 
  int x, y;
  
  initialize();

  
  while( scanf("%s", s) != EOF ) {
    
    if(s[0] == '+') {
      x = pop();
      y = pop();
      x = y + x;
    }
    
    else if( s[0] == '-' ){
      x = pop();
      y = pop();
      x = y - x;
    }
    
    else if( s[0] == '*' ){
      x = pop();
      y = pop();
      x = y * x;
    }

    else x = atoi(s);

    push(x);
    
  }

  printf("%d\n", stack[top]);
  
  return 0;

}

void initialize(void){
  top = 0;
}

void push(int x){
  if( isFull() == 1 ){
    printf("オーバーフロー");
  }
  else{
    top++;
    stack[top] = x;
  }
}

int pop(void){
  if( isEmpty() == 1 ){
    printf("アンダーフロー");
  }
  else{
    top--;
    return stack[top+1];
  }
}

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

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