
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayDeque;
import java.util.Deque;


public class Main {
    
    public static void main(String[] args) throws IOException {
        Deque<Long> stack = new ArrayDeque<>();
        BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
        
        String s = buf.readLine();
        String[] splited = s.split(" ", 0);
      
        //????????????????????¨??£?????????.(?¨?????????????second op first)??¨???
        long first;
        long second;
        for (String currentString : splited) {
            if ("+".equals(currentString)) {
                first = stack.removeFirst();
                second = stack.removeFirst();
                stack.addFirst((second + first));
            } else if ("-".equals(currentString)) {
                first = stack.removeFirst();
                second = stack.removeFirst();
                stack.addFirst((second - first));               
            } else if ("*".equals(currentString)) {
                first = stack.removeFirst();
                second = stack.removeFirst();
                stack.addFirst((second * first));            
            } else if ("/".equals(currentString)) {
                first = stack.removeFirst();
                second = stack.removeFirst();
                stack.addFirst((second / first));
            } else {
                stack.addFirst(Long.parseLong(currentString));
            }
        }
        System.out.println(stack.removeFirst());
    }
}
/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