import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
import java.util.StringTokenizer;

class Main{		//スタック練習

	public static void main(String[] args) {

	BufferedReader bfr=new BufferedReader(new InputStreamReader(System.in));
		String str="";
		String toridasi="";
		StringTokenizer stk;
		int stacksize=0;
		Stack<Integer> st=new Stack<Integer>();

		try {
			str=bfr.readLine();
			stk=new StringTokenizer(str," ");
			stacksize=stk.countTokens();
			for(int i=0; i<stacksize; i++) {
				toridasi=stk.nextToken();

				if(toridasi.equals("+") || toridasi.equals("-") || toridasi.equals("*")) {
					int b=st.pop();
					int a=st.pop();
					if(toridasi.equals("+")) {
						st.push(a+b);
					}
					else if(toridasi.equals("-")) {
						st.push(a-b);
					}

					else if(toridasi.equals("*")) {
						st.push(a*b);
					}
				}
				else {
					st.push(Integer.parseInt(toridasi));
				}
			}
			System.out.println(st.pop());
		}
		catch (IOException e) {
			e.printStackTrace();
		}

	}
}


/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