#include <iostream>#include<stack>#include<stdio.h>#include<string.h>using namespace std;//中缀式转后缀式/*int cmp(char a)
{
if(a=='+'||a=='-')return 1;
if(a=='*'||a=='/')return 2;
if(a==')')return 3;
if(a=='(')return 4;
}
int main()
{
char c;
stack<char>s;
char a[10000];
scanf("%s",a);
int l=strlen(a);
for(int i=0;i<l-1;i++)
{
c=a[i];
if(c>='a'&&c<='z')printf("%c",c);
else
{
if(s.empty())
{
s.push(c);
}
else
{
char k=s.top();
if(cmp(k)>=cmp(c))
{
if(k=='(')s.push(c);
else
{
printf("%c",k);
s.pop();
s.push(c);
}
}
else
{
if(c==')')
{
while(s.top()!='(')
{
printf("%c",s.top());
s.pop();
}
s.pop();
}
else
{
s.push(c);
}
}
}
}
}
while(!s.empty())
{
printf("%c",s.top());
s.pop();
}
return 0;
}*///后缀式求值int main(){
char a[10000];
scanf("%s",a);
int l=strlen(a);
stack<int >s;
int i;
for(i=0;i<l-1;i++)
{
char c=a[i];
if(c>='0'&&c<='9')
{
int k=c-'0';
s.push(k);
}
else if(c=='+')
{
int p=s.top();
s.pop();
int q=s.top();
s.pop();
s.push(p+q);
// printf("%d\n",s.top());
}
else if(c=='-')
{
int p=s.top();
s.pop();
int q=s.top();
s.pop();
s.push(q-p);
// printf("%d\n",s.top());
}
else if(c=='*')
{
int p=s.top();
s.pop();
int q=s.top();
s.pop();
s.push(p*q);
//printf("%d\n",s.top());
}
else if(c=='/')
{
int p=s.top();
s.pop();
int q=s.top();
s.pop();
s.push(q/p);
//printf("%d\n",s.top());
}
}
int k=s.top();
printf("%d\n",s.top());
}