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

import java.util.*;

public class Main {
		 
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		String[] reversePolish = s.nextLine().split(" ");
		System.out.println(evaluate(reversePolish));
	}
	 
	public static int evaluate(String[] reversePolish) {
	 
		Stack<String> stack = new Stack<String>();
	 
		for (String t : reversePolish) {
			if (!t.equals("+") && !t.equals("-") && !t.equals("*") && !t.equals("/")) {
				stack.push(t);
			} else {
				int num1 = Integer.valueOf(stack.pop());
				int num2 = Integer.valueOf(stack.pop());
				switch (t) {
				case "+":
					stack.push(String.valueOf(num1 + num2));
					break;
				case "-":
					stack.push(String.valueOf(num2 - num1));
					break;
				case "*":
					stack.push(String.valueOf(num1 * num2));
					break;
				case "/":
					stack.push(String.valueOf(num2 / num1));
					break;
				}
			}
		}
		int answer = 0;
		answer = Integer.valueOf(stack.pop());
	 
		return answer;
	}
}
