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

public class Main {
    static int top = 0;
    static int[] S = new int[1000];
    public static void main(String[] args) throws IOException {
        //Scanner sc = new Scanner(System.in);
        //int N = sc.nextInt();
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        //System.out.println(br.readLine());
        String[] inputChar = br.readLine().split(" ");

        String s;
        int a, b;
        for (int i = 0; i < inputChar.length; i++) {
            s = inputChar[i];
            switch (s){
                case "+":
                    a = pop();
                    b = pop();
                    push(a + b);
                    break;

                case "-":
                    a = pop();
                    b = pop();
                    push(b-a);
                    break;

                case "*":
                    a = pop();
                    b = pop();
                    push(a * b);
                    break;

                default:
                    push(Integer.parseInt(s));
            }
        }

        System.out.println(pop());

    }

    static void push(int x) {
        top++;
        S[top] = x;
    }

    static int pop() {
        top--;
        return S[top + 1];
    }
}


/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