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.Arrays;
import java.util.Scanner;
import java.util.Stack;

public class Main{

	public static void reversePolishNotation() {
		Scanner sc = new Scanner(System.in);
		String line = sc.nextLine();
		String[] characters = line.split(" ");
		
		Stack<Integer> numbers = new Stack<Integer>();
		
		for(int i = 0; i < characters.length; i++) {
			//if i is a number
			try {
				int number = Integer.parseInt(characters[i]);
				numbers.push(number);
			//if i is an operator
			}catch(Exception NumberFormatException) {
				int x = numbers.pop();
				int y = numbers.pop();
				String operator = characters[i];
				if(operator.equals("+")) {
					numbers.push(y + x);
				}else if(operator.equals("-")) {
					numbers.push(y - x);
				}else if(operator.equals("*")) {
					numbers.push(y * x);
				}else if(operator.equals("/")) {
					numbers.push(y / x);
				}
			}
		}
		System.out.println(numbers.pop());
	}
	
	public static void main(String[] args) {
		reversePolishNotation();
	}
}
