/*#include<stdio.h>
#define size 50001
char stack[size];
int top=-1;
void push(char data)
{
if(top==size-1)
return;
stack[++top]=data;
}
char pop()
{
if(top==-1) return -1;
return stack[top--];
}
int main()
{
int i,len;
char str[size] ;
scanf("%s", str);
//len=strlen(str);
for(i=0;str[i]!=0; i++)
{
if(str[i]=='(')
{
push('(');
}
else if(str[i]==')')
{
if(top==-1)
{
printf("bad");
return;
}
pop();
}
}
if(top==-1)
{
printf("good");
}
else
{
printf("bad");
}
return 0;
}
*/
/*
#include<stdio.h>
#define size 101
int stack[size];
int top=-1;
void push(int data)
{
if(top==size-1)
{
return 0;
}
stack[++top]=data;
}
int pop()
{
if(top==-1)
{
return 0;
}
return stack[top--];
}
int main()
{
char a[size], b[size];
int i, sum=0, la, lb, c=0, temp=0;
scanf("%s %s", a, b);
la=strlen(a);
lb=strlen(b);
if(la<lb)
{
temp=la;
la=lb;
lb=temp;
}
while(lb>0)
{
la--;
lb--;
sum=a[la]-'0'+b[lb]-'0'+c;
push(sum%10);
c=sum/10;
}
while(la>0)
{
la--;
sum=a[la]-'0'+c;
push(sum%10);
c=sum/10;
}
if(c!=0)
{
push(c);
}
while(top!=-1)
{
printf("%d",pop());
}
return 0;
}
#include<stdio.h>
#define size 100000
char stack[size];
int top=-1;
void push(char data)
{
if(top==size-1)
{
return 0;
}
stack[++top]=data;
}
char pop()
{
if(top==-1)
{
return 0;
}
return stack[top--];
}
int main()
{
char str[size];
int i, sum=0;
scanf("%s", str);
for(i=0; str[i]!=0; i++)
{
if(str[i]=='(')
{
push('(');
}
else
{
pop();
if(str[i-1]=='(')
{
sum+=top+1;
}
else
{
sum++;
}
}
}
printf("%d", sum);
return 0;
}
*/
/*3102 : STL stack
#include<stdio.h>
#define size 200
int stack[size];
int top=-1;
void push(int data)
{
if(top==size-1)
return 0;
stack[++top]=data;
}
int pop()
{
if(top==-1)
return 0;
return stack[top--];
}
void view()
{
if(top==-1)
{
printf("-1");
}
else
{
printf("%d\n",stack[top]);
}
}
int main()
{
int n, i;
char str[size];
scanf("%d ", &n);
for(i=0; i<n; i++)
{
gets(str);
if(str[1]=='u')
{
push(str[6]-'0');
}
else if(str[0]=='p')
{
pop();
}
else if(str[0]=='t')
{
view();
}
else if(str[0]=='s')
{
printf("%d\n",top+1);
}
else
{
if(top==-1)
{
printf("true\n");
}
else
{
printf("false\n");
}
}
}
return 0;
}
*/
#include<stdio.h>
#define size 200
int stack[size];
int top=-1;
void push(int data)
{
if(top==size-1)
{
return 0;
}
stack[++top]=data;
}
int pop()
{
if(top==-1)
{
return 0;
}
return stack[top--];
}
int main()
{
int i,a,b;
char str[201];
gets(str);
for(i=0;str[i]!=0;i++)
{
if('0'<=str[i]&&str[i]<='9')
{
push(str[i]-'0');
}
else if(str[i]=='+')
{
a=pop();
b=pop();
push(b+a);
}
}
}



