#include<stdio.h>

#define FORM_MAX 400
#define FORM_INIT 0
#define VAR_INIT 0
#define FIRST_ITEM 0
#define EXIT_SUCCESS 0
#define NUM_MIN '0'
#define NUM_MAX '9'
#define INF_LOOP while( 1 )
#define PREV_ITEM( x ) ( ( x ) - 1 )
#define NEXT_ITEM( x ) ( ( x ) + 1 )
#define CARRY( x ) ( ( x ) * 10 )
#define DIGIT( x ) ( ( x ) - '0' )

int main( void )
{
	unsigned char aubW_Dform[ FORM_MAX ] = { FORM_INIT };
	unsigned char pubW_Dform_p = VAR_INIT;
	signed long aslW_Dstack[ FORM_MAX ] = { FORM_INIT };
	unsigned char pubW_Dstack_p = VAR_INIT;
	unsigned char ubW_Dform_size;
	signed long slW_Dcalc;
	signed char sbW_Finput_flag = VAR_INIT;

	gets( aubW_Dform );
	ubW_Dform_size = sizeof( aubW_Dform );
	/* ??°????¨????????????? */
	INF_LOOP{
		if( pubW_Dform_p == ubW_Dform_size ){
			break;
		}
		else{
			if( aubW_Dform[ pubW_Dform_p ] == ' ' ){
				pubW_Dform_p++;
			}
			else{
				if( ( NUM_MIN <= aubW_Dform[ pubW_Dform_p ] ) && ( aubW_Dform[ pubW_Dform_p ] <= NUM_MAX ) ){
					slW_Dcalc = VAR_INIT;
					while( ( NUM_MIN <= aubW_Dform[ pubW_Dform_p ] ) && ( aubW_Dform[ pubW_Dform_p ] <= NUM_MAX ) ){
						if( aubW_Dform[ pubW_Dform_p ] == ' ' ){
							pubW_Dform_p++;
							break;
						}
						else{
							slW_Dcalc = CARRY( slW_Dcalc ) + DIGIT( aubW_Dform[ pubW_Dform_p ] );
							pubW_Dform_p++;
						}
					}
					aslW_Dstack[ NEXT_ITEM( pubW_Dstack_p ) ] = slW_Dcalc;
					pubW_Dstack_p++;
				}
				else{
					if( aubW_Dform[ pubW_Dform_p ] == '+' || aubW_Dform[ pubW_Dform_p ] == '-' || aubW_Dform[ pubW_Dform_p ] == '*' ){
						switch( aubW_Dform[ pubW_Dform_p ] ){
							case '+' :
								aslW_Dstack[ PREV_ITEM( pubW_Dstack_p ) ] = aslW_Dstack[ PREV_ITEM( pubW_Dstack_p ) ] + aslW_Dstack[ pubW_Dstack_p ];
								break;
							case '-':
								aslW_Dstack[ PREV_ITEM( pubW_Dstack_p ) ] = aslW_Dstack[ PREV_ITEM( pubW_Dstack_p ) ] - aslW_Dstack[ pubW_Dstack_p ];
								break;
							case '*':
								aslW_Dstack[ PREV_ITEM( pubW_Dstack_p ) ] = aslW_Dstack[ PREV_ITEM( pubW_Dstack_p ) ] * aslW_Dstack[ pubW_Dstack_p ];
								break;
							default:
								break;
						}
						pubW_Dstack_p--;
						pubW_Dform_p++;
					}
					else{
						pubW_Dform_p++;
					}
				}
			}
		}
	}/* ??°????¨?????????????????????? */
	printf( "%ld\n", aslW_Dstack[ pubW_Dstack_p ] );
	return EXIT_SUCCESS;
}