#include <stdio.h>

int stack[10];
int size = 0;

int pop()
{
	if (size <= 0) return 0;
	return stack[--size];
}

int push(int a)
{
	stack[size++] = a;
}

int is_digit(char *s)
{
	if (*s == '+' || *s =='-') {
		s++;
		if (*s >= '0' && *s <= '9') return 1;
		return 0;
	}
	if (*s >= '0' && *s <= '9') return 1;
	return 0;
}

int get_number(char *s)
{
	int sign = 0, n = 0;
	
	if (*s == '+') {
		s++;
	} else if (*s == '-') {
		sign = 1;
		s++;
	}
	while (*s >= '0' && *s <= '9') {
		n = n * 10 + (*s - '0');
		s++;
	}
	if (sign) return -n;
	return n;
}

int calc_rpn(char *s)
{
	int a, b, n;
	
	while (*s) {
		
		if (is_digit(s)) {
			n = get_number(s);
			push(n);
			while (*s == '-' || *s == '+') {
				s++;
			}
			while (n) {
				n /= 10;
				s++;
			}
			
		} else {
			switch (*s) {
			case '+':
				a = pop();
				b = pop();
				push(b+a);
				break;
			case '-':
				a = pop();
				b = pop();
				push(b-a);
				break;
			case '*':
				a = pop();
				b = pop();
				push(b*a);
				break;
			}
			s++;
		}
	}
	return pop();
}

int main()
{
	char s[10];
	scanf("%[^\n]*s", s);
	printf("%d\n",calc_rpn(s));
}
