AC
import java.util.ArrayList;
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> inputs = new ArrayList<Integer>();
Scanner in = new Scanner(System.in);
String line = in.nextLine();
if(line != null && ! line.isEmpty()) {
int res = resolve(line.trim());
System.out.println(String.valueOf(res));
}
}
// write your code here
public static int resolve(String expr) {
Stack<Integer> stack = new Stack<>();
String[] split = expr.split("\\s+");
for (int i = 0; i < split.length; i ++) {
if(split[i].equals("^")) {
if(stack.size() < 1) return - 1;
stack.push(stack.pop() + 1);
} else if(split[i].equals("+")) {
if(stack.size() < 2) return - 1;
stack.push(stack.pop() + stack.pop());
} else if(split[i].equals("*")) {
if(stack.size() < 2) return - 1;
stack.push(stack.pop() * stack.pop());
} else {
if(stack.size() > 16) return - 2;
stack.push(Integer.parseInt(split[i]));
}
}
return stack.pop();
}
}