#include <stdio.h>
#include <string.h>
int main(){
  int culc=0;
  int stack[200];
  char line[10];
  int index=0;					/* スタックのトップの添字 */
  int tmp_num1;
  int tmp_num2;
  int i;
  //初期化
  for(index=0; index<200; ++index){
	stack[index]=0;
  }
  index=-1;
  //
  while(scanf("%s", line)){
	if(strcmp(line,"end")==0)
	  break;
	if(strcmp(line, "+")==0){
	  tmp_num2=stack[index];
	  --index;
	  tmp_num1=stack[index];
	  culc=tmp_num1+tmp_num2;
	  stack[index]=culc;
	}else if(strcmp(line, "-")==0){
	  tmp_num2=stack[index];
	  --index;
	  tmp_num1=stack[index];
	  culc=tmp_num1-tmp_num2;
	  stack[index]=culc;
	}
	else if(strcmp(line, "*")==0){
	  tmp_num2=stack[index];
	  --index;
	  tmp_num1=stack[index];
	  culc=tmp_num1*tmp_num2;
	  stack[index]=culc;
	}
	else{
	  ++index;
	  sscanf(line, "%d", &stack[index]);
	}
	/* for(i=0; i<=index; ++i){ */
	/*   printf("stack: %d ", stack[i]); */
	/*   if(i<index) */
	/* 	printf(" "); */
	/*   else */
	/* 	printf("\n"); */
	/* } */
  }
  printf("%d\n", stack[index]);
  return 0;
}

