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

typedef struct Stack{
	int num[MAX];
	int top;
}Stack;

Stack S;

void push(int x){
	S.num[S.top++]=x;
	return;
}

int pop(){
	S.top--;
	return S.num[S.top];
}

int main(){
	char str[10];
	S.top=0;
	
	while(scanf("%s",str)!=EOF){
		
		if(isdigit(str[0]))
			push(atoi(str));
		
		else {
			int x=pop();  int y=pop();
			switch(str[0]){
				case '+':push(y+x);break;
				case '-':push(y-x);break;
				case '*':push(y*x);break;
			}
		}
	}
	
	printf("%d\n",S.num[0]);
	
	return 0;
	
}
