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
class Stack:
    def __init__(self, n):
        self.top = 0
        self.A = [0 for i in range(n)]
        self.n = n

    def init(self):
        self.top = 0

    def is_empty(self):
        return self.top == 0

    def is_full(self):
        return self.top == self.n - 1

    def push(self, x):
        if not self.is_full():
            self.top += 1
            self.A[self.top] = x

    def pop(self):
        if not self.is_empty():
            x = self.A[self.top]
            self.top -= 1
            return x


if __name__ == '__main__':
    S = Stack(110)
    for ch in raw_input().split():
        if ch == '+':
            b = S.pop()
            a = S.pop()
            S.push(a + b)
        elif ch == '-':
            b = S.pop()
            a = S.pop()
            S.push(a - b)
        elif ch == '*':
            b = S.pop()
            a = S.pop()
            S.push(a * b)
        else:
            S.push(int(ch))
    print S.pop()
