/*
#include <stdio.h>
#define SIZE 101
#include <string.h>
char stack1[SIZE];
char stack2[SIZE];
int stack3[SIZE];
int top1=-1, top2=-1, top3=-1;
void push3(int data)
{
if(top3==SIZE-1) return;
stack3[++top3]=data;
}
char pop1()
{
return stack1[top1--];
}
char pop2()
{
return stack2[top2--];
}
int pop3()
{
return stack3[top3--];
}
int main()
{
int c=0;
scanf("%s", stack1);
scanf("%s", stack2);
top1 = strlen(stack1)-1;
top2 = strlen(stack2)-1;
while(top1!=-1 || top2!=-1)
{
if(top1!=-1)
{
c += pop1()-'0';
}
if(top2!=-1)
{
c += pop2()-'0';
}
if(top1==-1 && top2==-1 && c!=0)
{
push3(c);
break;
}
push3(c%10);
c=c/10;
}
while(top3!=-1)
{
printf("%d", pop3());
}
}
#include <stdio.h>
#include <string.h>
#define SIZE 201
int stack[SIZE];
int top=-1;
void push(int data)
{
stack[++top] = data;
}
void top1()
{
if(top==-1)
{
printf("-1\n");
return;
}
printf("%d\n", stack[top]);
}
void pop()
{
if(top==-1) re
top--;
}
void size()
{
printf("%d\n", top+1);
}
void empty()
{
if(top==-1)
{
printf("true\n");
return;
}
else printf("false\n");
}
int main()
{
int n, num=0;
scanf("%d\n", &n);
char str[SIZE];
for(int i=1; i<=n; i++)
{
gets(str); // push 받을 땐 공백 포함이기 때문
if(str[1] == 'u')
{
for(int j=6; str[j]!=' '; j++)
{
num = num*10 + str[j]-'0';
}
push(num);
num=0;
//push(str[6]-'0');
}
if(str[0] == 't')
{
top1();
}
if(str[0] == 'p' && str[1] == 'o')
{
pop();
}
if(str[0] == 's')
{
size();
}
if(str[0] == 'e')
{
empty();
}
}
}
#include <stdio.h>
#define SIZE 50001
int stack[SIZE];
int top=-1;
void push(int data)
{
stack[++top]=data;
}
void pop()
{
if(top==-1) return;
top--;
}
int main()
{
char str[SIZE];
scanf("%s", str);
for(int i=0; str[i]!=NULL; i++)
{
if(str[i]=='(') push(1);
if(str[i]==')')
{
if(top==-1)
{
printf("bad");
return 0;
}
pop();
}
}
if(top==-1) printf("good");
else printf("bad");
}
*/
#include <stdio.h>
#include <string.h>
#define SIZE 201
int stack[SIZE];
int top=-1;
void push(int data)
{
stack[++top]=data;
}
int pop()
{
if(top==-1) return 0;
return stack[top--];
}
int main()
{
char str[SIZE];
gets(str);
for(int i=0; str[i]!=NULL; i++)
{
if(str[i]>='0' && str[i]<='9')
{
push(str[i]-'0');
}
else if(str[i] == '+')
{
push( pop() + pop() );
}
else if(str[i] == '-')
{
int x=pop();
int y=pop();
push(y-x);
}
else if(str[i] == '*')
{
push( pop() * pop() );
}
}
printf("%d", pop());
}
// 의문점) 왜 뺄셈은 pop을 연속으로 썼을때 안 되나?????????
// + 십의 자리 이상이 입력됐을 때도 해결해야 함