#include <stdio.h>
#include<stdlib.h>
#include <string.h>

#define DEF_ELM_MAX 200

static int top;
static int S[DEF_ELM_MAX];

void initialize( void )
{
	top = 0;
}

int isEmpty( void )
{
	return ((top == 0) ? 1 : 0);
}

int isFull( void )
{
  return ((top >= DEF_ELM_MAX - 1) ? 1 : 0);
}

void push(int x)
{
	if ( isFull() ) {
//	 ??¨?????????????????????????????????
		return ;
	}
	top++;
	S[top] = x;
}

int pop( void )
{
	if ( isEmpty() ) {
//	 ??¨???????????¢?????????????????????
		return -1;
	}
	top--;
	return S[top+1];
}

////////////////////////////////////////////////////////////////////////////////
//
/////////////////////////////////////////////////////////////////////////////////
int main(void)
{
	char pStr[100];
	int ans = 0;
	int iwork;
	int a;
	int b;
//
	while (scanf("%s", pStr) != EOF ) {
		switch (pStr[0]) {
		case ' ':
			break;
		case '+':
			a = pop();
			b = pop();
			push(a+b);
			break;
		case '-':
			a = pop();
			b = pop();
			push(a-b);
			break;
		case '*':
			a = pop();
			b = pop();
			push(a*b);
			break;
		default:
			iwork = atoi(pStr);
			push(iwork);
			break;
		}
	}

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