import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main{

	public static void main(String[] args) throws IOException {
		int num1 = 0;
		int num2 = 0;
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String strArray[] = (br.readLine()).split(" ");
		Stack stack = new Stack(strArray.length);
		for(int i = 0;i < strArray.length; i++){
			if(strArray[i].equals("+")){
				num1 = stack.pop();
				num2 = stack.pop();
				stack.push(num1 + num2);
			}
			else if(strArray[i].equals("*")){
				num1 = stack.pop();
				num2 = stack.pop();
				stack.push(num1 * num2);
			}
			else if(strArray[i].equals("-")){
				num1 = stack.pop();
				num2 = stack.pop();
				stack.push(num2 - num1);
			}
			else{
				stack.push(Integer.parseInt(strArray[i]));
			}
		}
		System.out.println(stack.pop());
	}

}

class Stack{
	private int top;
	private int stack[];

	Stack(int size){
		stack = new int [size];
		top = 0;
	}

	public int pop(){
		return stack[--top];
	}

	public void push(int num){
		stack[top++] = num;
	}
}
/tmp/hf-datasets-cache/medium/datasets/42704881117311-config-parquet-and-info-qiankunmu-Project_CodeNet-896c9d36/hub/datasets--qiankunmu--Project_CodeNet_Python800_and_Java250/snapshots/c899fde44a77ba1cc14973ed3de064e4ff3aadc7/Project_CodeNet_Java250.tar.gz