import java.util.Scanner;
import java.util.Stack;

public class Main{ // algorithm for reverse polish notation

	
	
	
	  
    public static void main(String[] args) {
    	 Scanner sc = new Scanner(System.in);
         String ex = sc.nextLine();
         String[] k = ex.split(" ");
    String[] polish = k;
    String testCase = "";
    int testSize = polish.length; // length of the test case
    int number1=0;
    int number2=0;
    Stack<Integer> stack = new Stack<Integer>();
   
    for(int i=0; i<testSize; i++){
   	 testCase = polish[i];

        
        if(testCase.equals("+") || testCase.equals("-") || testCase.equals("*") || testCase.equals("/")) {
            number2 = (int) stack.pop();
            number1 = (int) stack.pop();
            
            switch(testCase){
            case "+" :
                stack.push(number1+number2); // plus
                break;
            case "-" :
                stack.push(number1-number2); // minus
                break;
            case "*" :
                stack.push(number1*number2); // multiplication
                break;
            case "/" :
                stack.push(number1/number2); // division
                break;
            }
        }else{
            stack.push(Integer.parseInt(testCase));
        }
        
        
          
    }
    System.out.println(stack.pop());
    
  
}
    	
    	
    
    	
          
           
            
            
        
        
       



}


/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