import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
 
class Main {
    static StringBuilder builder = new StringBuilder();
 
    public static void main(String[] args) throws NumberFormatException,
            IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(
                System.in));
        final String[] str = reader.readLine().split(" ");
        
        System.out.println(String.valueOf(getReversePolishResult(str)));
    }
 
    private static int getReversePolishResult(final String str[]){
    	ArrayList<Integer> list = new ArrayList<Integer>();
    	for(int i = 0;i < str.length;++i){
    		final int lastIndex = list.size();
    		switch(str[i].charAt(0)){
    		case '+':{
    			final int num = list.get(lastIndex - 2) + list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		case '-':{
    			final int num = list.get(lastIndex - 2) - list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		case '*':{
    			final int num = list.get(lastIndex - 2) * list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		default:
    			list.add(Integer.parseInt(str[i]));
    			break;
    		}
    	}
    	
    	return list.get(0);
    }
} import java.io.BufferedReader; BufferedReader java.io import java.io.IOException; IOException java.io import java.io.InputStreamReader; InputStreamReader java.io import java.util.ArrayList; ArrayList java.util class Main {
    static StringBuilder builder = new StringBuilder();
 
    public static void main(String[] args) throws NumberFormatException,
            IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(
                System.in));
        final String[] str = reader.readLine().split(" ");
        
        System.out.println(String.valueOf(getReversePolishResult(str)));
    }
 
    private static int getReversePolishResult(final String str[]){
    	ArrayList<Integer> list = new ArrayList<Integer>();
    	for(int i = 0;i < str.length;++i){
    		final int lastIndex = list.size();
    		switch(str[i].charAt(0)){
    		case '+':{
    			final int num = list.get(lastIndex - 2) + list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		case '-':{
    			final int num = list.get(lastIndex - 2) - list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		case '*':{
    			final int num = list.get(lastIndex - 2) * list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		default:
    			list.add(Integer.parseInt(str[i]));
    			break;
    		}
    	}
    	
    	return list.get(0);
    }
} Main static StringBuilder builder = new StringBuilder(); builder new StringBuilder() public static void main(String[] args) throws NumberFormatException,
            IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(
                System.in));
        final String[] str = reader.readLine().split(" ");
        
        System.out.println(String.valueOf(getReversePolishResult(str)));
    } main {
        BufferedReader reader = new BufferedReader(new InputStreamReader(
                System.in));
        final String[] str = reader.readLine().split(" ");
        
        System.out.println(String.valueOf(getReversePolishResult(str)));
    } BufferedReader reader = new BufferedReader(new InputStreamReader(
                System.in)); reader new BufferedReader(new InputStreamReader(
                System.in)) final String[] str = reader.readLine().split(" "); str reader.readLine().split(" ") reader.readLine().split reader.readLine() reader.readLine reader " " System.out.println(String.valueOf(getReversePolishResult(str))) System.out.println System.out System System.out String.valueOf(getReversePolishResult(str)) String.valueOf String getReversePolishResult(str) getReversePolishResult str String[] args args private static int getReversePolishResult(final String str[]){
    	ArrayList<Integer> list = new ArrayList<Integer>();
    	for(int i = 0;i < str.length;++i){
    		final int lastIndex = list.size();
    		switch(str[i].charAt(0)){
    		case '+':{
    			final int num = list.get(lastIndex - 2) + list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		case '-':{
    			final int num = list.get(lastIndex - 2) - list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		case '*':{
    			final int num = list.get(lastIndex - 2) * list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		default:
    			list.add(Integer.parseInt(str[i]));
    			break;
    		}
    	}
    	
    	return list.get(0);
    } getReversePolishResult {
    	ArrayList<Integer> list = new ArrayList<Integer>();
    	for(int i = 0;i < str.length;++i){
    		final int lastIndex = list.size();
    		switch(str[i].charAt(0)){
    		case '+':{
    			final int num = list.get(lastIndex - 2) + list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		case '-':{
    			final int num = list.get(lastIndex - 2) - list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		case '*':{
    			final int num = list.get(lastIndex - 2) * list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		default:
    			list.add(Integer.parseInt(str[i]));
    			break;
    		}
    	}
    	
    	return list.get(0);
    } ArrayList<Integer> list = new ArrayList<Integer>(); list new ArrayList<Integer>() for(int i = 0;i < str.length;++i){
    		final int lastIndex = list.size();
    		switch(str[i].charAt(0)){
    		case '+':{
    			final int num = list.get(lastIndex - 2) + list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		case '-':{
    			final int num = list.get(lastIndex - 2) - list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		case '*':{
    			final int num = list.get(lastIndex - 2) * list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		default:
    			list.add(Integer.parseInt(str[i]));
    			break;
    		}
    	} int i = 0; int i = 0; i 0 i < str.length i str.length str str.length ++i ++i i {
    		final int lastIndex = list.size();
    		switch(str[i].charAt(0)){
    		case '+':{
    			final int num = list.get(lastIndex - 2) + list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		case '-':{
    			final int num = list.get(lastIndex - 2) - list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		case '*':{
    			final int num = list.get(lastIndex - 2) * list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		default:
    			list.add(Integer.parseInt(str[i]));
    			break;
    		}
    	} {
    		final int lastIndex = list.size();
    		switch(str[i].charAt(0)){
    		case '+':{
    			final int num = list.get(lastIndex - 2) + list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		case '-':{
    			final int num = list.get(lastIndex - 2) - list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		case '*':{
    			final int num = list.get(lastIndex - 2) * list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		default:
    			list.add(Integer.parseInt(str[i]));
    			break;
    		}
    	} final int lastIndex = list.size(); lastIndex list.size() list.size list switch(str[i].charAt(0)){
    		case '+':{
    			final int num = list.get(lastIndex - 2) + list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		case '-':{
    			final int num = list.get(lastIndex - 2) - list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		case '*':{
    			final int num = list.get(lastIndex - 2) * list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		default:
    			list.add(Integer.parseInt(str[i]));
    			break;
    		} str[i].charAt(0) str[i].charAt str[i] str i 0 case '+': '+' case '+': {
    			final int num = list.get(lastIndex - 2) + list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		} final int num = list.get(lastIndex - 2) + list.get(lastIndex - 1); num list.get(lastIndex - 2) + list.get(lastIndex - 1) list.get(lastIndex - 2) list.get list lastIndex - 2 lastIndex 2 list.get(lastIndex - 1) list.get list lastIndex - 1 lastIndex 1 list.remove(lastIndex - 1) list.remove list lastIndex - 1 lastIndex 1 list.remove(lastIndex - 2) list.remove list lastIndex - 2 lastIndex 2 list.add(num) list.add list num break; case '-': '-' case '-': {
    			final int num = list.get(lastIndex - 2) - list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		} final int num = list.get(lastIndex - 2) - list.get(lastIndex - 1); num list.get(lastIndex - 2) - list.get(lastIndex - 1) list.get(lastIndex - 2) list.get list lastIndex - 2 lastIndex 2 list.get(lastIndex - 1) list.get list lastIndex - 1 lastIndex 1 list.remove(lastIndex - 1) list.remove list lastIndex - 1 lastIndex 1 list.remove(lastIndex - 2) list.remove list lastIndex - 2 lastIndex 2 list.add(num) list.add list num break; case '*': '*' case '*': {
    			final int num = list.get(lastIndex - 2) * list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		} final int num = list.get(lastIndex - 2) * list.get(lastIndex - 1); num list.get(lastIndex - 2) * list.get(lastIndex - 1) list.get(lastIndex - 2) list.get list lastIndex - 2 lastIndex 2 list.get(lastIndex - 1) list.get list lastIndex - 1 lastIndex 1 list.remove(lastIndex - 1) list.remove list lastIndex - 1 lastIndex 1 list.remove(lastIndex - 2) list.remove list lastIndex - 2 lastIndex 2 list.add(num) list.add list num break; default: default: list.add(Integer.parseInt(str[i])) list.add list Integer.parseInt(str[i]) Integer.parseInt Integer str[i] str i break; return list.get(0); list.get(0) list.get list 0 final String str[] str
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
 
class Main {
    static StringBuilder builder = new StringBuilder();
 
    public static void main(String[] args) throws NumberFormatException,
            IOException {
        BufferedReader reader = new BufferedReader(new InputStreamReader(
                System.in));
        final String[] str = reader.readLine().split(" ");
        
        System.out.println(String.valueOf(getReversePolishResult(str)));
    }
 
    private static int getReversePolishResult(final String str[]){
    	ArrayList<Integer> list = new ArrayList<Integer>();
    	for(int i = 0;i < str.length;++i){
    		final int lastIndex = list.size();
    		switch(str[i].charAt(0)){
    		case '+':{
    			final int num = list.get(lastIndex - 2) + list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		case '-':{
    			final int num = list.get(lastIndex - 2) - list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		case '*':{
    			final int num = list.get(lastIndex - 2) * list.get(lastIndex - 1);
    			list.remove(lastIndex - 1);
    			list.remove(lastIndex - 2);
    			list.add(num);
    			break;
    		}
    		default:
    			list.add(Integer.parseInt(str[i]));
    			break;
    		}
    	}
    	
    	return list.get(0);
    }
}