Notes

Template in C

Constraints

2 ≤ the number of operands in the expression ≤ 100
1 ≤ the number of operators in the expression ≤ 99
-1 × 109 ≤ values in the stack ≤ 109

Input

An expression is given in a line. Two consequtive symbols (operand or operator) are separated by a space character.

You can assume that +, - and * are given as the operator and an operand is a positive integer less than 106

Output

Print the computational result in a line.

Examples

Input

1 2 +


Output

3


Input

1 2 + 3 4 - *


Output

-3
#include <iostream>

using namespace std;


int buff[100];
int top = -1;
int n = 3;

void push(int n)
{
	buff[++top] = n;
}
int pop()
{
	return buff[top--];
}

int main(void)
{
	char s[1000001];
	int a, b;

	while (scanf("%s", s) != EOF) {
		switch (s[0]) {
		case '+':
			a = pop();
			b = pop();
			push(a + b);
			break;
		case '-':
			a = pop();
			b = pop();
			push(b - a);
			break;
		case '*':
			a = pop();
			b = pop();
			push(a * b);
			break;
		default:
			push(atoi(s));
		}
	}

	printf("%d\n", buff[0]);
	return 0;
}
