import java.util.Scanner;

class Main {
  public static void main(String[] args) {
    Scanner in = new Scanner(System.in);
    Stack<String> stack = new Stack<String>();
    String s;
    
    while (in.hasNext()) {
      s = in.next();
      if (s.equals("+")) {
        int x = Integer.parseInt(stack.pop());
        int y = Integer.parseInt(stack.pop());
        stack.push(Integer.toString(y + x));
      }
      else if (s.equals("-")) {
        int x = Integer.parseInt(stack.pop());
        int y = Integer.parseInt(stack.pop());
        stack.push(Integer.toString(y - x));
      }
      else if (s.equals("*")) {
        int x = Integer.parseInt(stack.pop());
        int y = Integer.parseInt(stack.pop());
        stack.push(Integer.toString(y * x));
      }
      else {
        int num = Integer.parseInt(s);
        stack.push(Integer.toString(num));
      }
    }
    System.out.println(stack.pop());
  }
}

class Stack<Item> {
  private Node first = null;
  
  private class Node {
    Item item;
    Node next;
  }
  
  public boolean isEmpty() { return first == null; }
  
  public void push(Item item) {
    Node oldfirst = first;
    first = new Node();
    first.item = item;
    first.next = oldfirst;
  }
  
  public Item pop() {
    Item item = first.item;
    first = first.next;
    return item;
  }
}
/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