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 int computePolish(String in) {
		Stack<Integer> polishStack= new Stack<Integer>();
		Scanner scan = new Scanner(in);
		
		while(scan.hasNext()) {
			String current = scan.next();
			
			switch(current) {
			case "*":
				
				int mult1 = polishStack.pop();
				int mult2 = polishStack.pop();
				polishStack.push(mult1*mult2);
				break;
			case "+":
				
				int plus1 = polishStack.pop();
				int plus2 = polishStack.pop();
				polishStack.push(plus1+plus2);
				break;
			case "-":
				
				int subt1 = polishStack.pop();
				int subt2 = polishStack.pop();
				polishStack.push(subt2-subt1);
				break;
			default:
				polishStack.push(Integer.parseInt(current));
				break;
			}
		}
		
		return polishStack.pop();
	}
	
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		
		System.out.println(computePolish(scan.nextLine()));
		
		
	}
}
