/*
#include <stdio.h>
#include <string.h>
int stack[201],top=-1;
void push(int data)
{
stack[++top]=data;
}
int pop()
{
if(top==-1) return 0;
return stack[top--];
}
int main()
{
int i,c,d,e=0;
char a[200];
gets(a);
for(i=0;i<strlen(a);i++)
{
if(a[i]>='0' && a[i]<='9')
{
e=e*10+a[i]-48;
if(a[i+1]==' ')
{
push(e);
e=0;
}
}
else
{
if(a[i]!=32)
{
c=pop();
d=pop();
}
switch(a[i])
{
case('+'):
push(c+d);
break;
case('-'):
push(d-c);
break;
case('*'):
push(c*d);
break;
}
}
} printf("%d",pop());
}
*/
/*
#include <stdio.h>
int stack[201], stack_1[201], top=-1, top_1=-1, f[201]= {};
char a[100];
char b[100];
typedef struct
{
char aorb;
int len;
} ar;
void push(int data)
{
stack[++top]=data;
}
void push_1(int data)
{
stack_1[++top_1]=data;
}
int pop()
{
if(top==-1)
return 0;
return stack[top--];
}
int pop_1()
{
if(top_1==-1)
return 0;
return stack_1[top_1--];
}
int main()
{
int i,k,l,u=0;
ar m;
scanf("%s %s",a,b);
for(i=0; i<strlen(a); i++)
{
push(a[i]-48);
}
for(i=0; i<strlen(b); i++)
{
push_1(b[i]-48);
}
if(strlen(a)<=strlen(b))
{
m.len=strlen(b);
m.aorb='b';
}
else
{
m.len=strlen(a);
m.aorb='a';
}
for(i=0; i<m.len; i++)
{
k=pop();
l=pop_1();
if(m.aorb=='a') f[top+1]=(k+l+u)%10;
else f[top_1+1]=(k+l+u)%10;
u=(k+l+u)/10;
}
if(u!=0)
{
printf("1");
}
for(i=0; i<m.len; i++)
{
printf("%d",f[i]);
}
}
*/
/*
#include <stdio.h>
#include <string.h>
int stack[201],top=-1;
void push(int data)
{
stack[++top]=data;
}
int tp()
{
return stack[top];
}
void pop()
{
if(top==-1)
{
}
else
{
top--;
}
}
int size()
{
return top+1;
}
int empty()
{
if(top==-1)
{
return 1;
}
else
{
return 0;
}
}
int main()
{
char a[200];
int n,i,j,d=0;
scanf("%d ",&n);
for(i=0;i<n;i++)
{
gets(a);
if(a[1]=='u')
{
for(j=6;a[j]!=32;j++)
{
d=d*10+a[j]-48;
}
push(d);
d=0;
}
if(a[0]=='t')
{
if(top==-1)
{
printf("-1\n");
}
else
{
printf("%d\n",tp());
}
}
if(a[0]=='p' && a[1]=='o')
{
pop();
}
if(a[0]=='s')
{
printf("%d\n",size());
}
if(a[0]=='e')
{
if(empty()==1)
{
printf("true\n");
}
else
{
printf("false\n");
}
}
}
}
*/