#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 1000

int top, new_num[MAX];
void push(int);
int pop(void);
int isEmpty(void);
int isFull(void);

int main(){
  int x, y, X;
  char num[MAX];

  /*スタックポインタを表す整数型変数*/
  top = 0;
  while( scanf("%s", num) != EOF ){

    if ( num[0] == '+' ){
      x = pop();
      y = pop();
      push(x + y);
    }

    else if ( num[0] == '-' ){
      x = pop();
      y = pop();
      push(y - x);
    }

    else if ( num[0] == '*' ){
      x = pop();
      y = pop();
      push(x * y);
    }

    else {
      X = atoi(num);
      push(X);
    }
  }
  printf("%d\n", pop());

  return 0;
}


/*top を 1 つ増やし、S[top] に x を代入します。*/
void push(int x){
 
  if(isFull()){
printf("overflow\n");
 exit(1);
}
  top++;
  new_num[top] = x;
}


/*S[top] の値を返し、top を１つ減らします。*/
int pop(){

  if(isEmpty()){
printf("underflow");
 exit(1);
}

top--;
return new_num[top+1];
}

int isEmpty(){
  return top==0;
}

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