/*
#include <stdio.h>
int main()
{
int a=0,b=0,i,len;
char str[50001];
scanf("%s",str);
len=strlen(str);
if(str[0]==')')
{
printf("bad");
return 0;
}
for(i=0;i<len;i++)
{
if(str[i]=='(')
{
a++;
}
else if(str[i]==')')
{
b++;
}
}
if(b==a)
{
printf("good");
}
else
{
printf("bad");
}
return 0;
}*/
/*
#include <stdio.h>
int stack[101];
int top=-1;
void push(int data)
{
stack[++top]=data;
}
int pop()
{
return stack[top--];
}
int main()
{
int i,c=0,lt,lf,num;
char str[101],sfr[101],tmp[101];
scanf("%s %s",str,sfr);
lt=strlen(str);
lf=strlen(sfr);
if(lt<lf)
{
strcpy(tmp,str);
strcpy(str,sfr);
strcpy(sfr,tmp);
}
lt=strlen(str);
lf=strlen(sfr);
while(lf>=1)
{
num=str[--lt]-'0'+sfr[--lf]-'0'+c;
push(num%10);
c=num/10;
}
while(lt>=1)
{
num=str[--lt]-'0'+c;
push(num%10);
c=num/10;
}
if(c==1)
push(1);
c=top;
for(i=0; i<=c; i++)
{
printf("%d",pop());
}
return 0;
}
*/
#include <stdio.h>
int stack[201],top=-1;
void push(int data)
{
stack[++top]=data;
}
int pop()
{
return stack[top--];
}
int main()
{
int i,st,a,b;
char str[201];
gets(str);
st=strlen(str);
for(i=0;i<st;i++)
{
if('0'<=str[i]&&str[i]<'9' )
{
push(str[i]-'0');
}
else if(str[i]=='+')
{
a=pop();
b=pop();
push(b+a);
}
else if(str[i]=='*')
{
a=pop();
b=pop();
push(a*b);
}
else if(str[i]=='-')
{
a=pop();
b=pop();
push(b-a);
}
}
printf("%d",pop());
return 0;
}