/*
#include <stdio.h>
char stack[50000];
int top=-1;
void push (char a)
{
stack[++top]=a;
}
char pop()
{
return stack[top--];
}
int main()
{
int i, j,n;
char arr[50000];
scanf("%s",arr);
n=strlen(arr);
for (i=0;i<n;i++)
{
if (arr[i]=='(')
{
push('(');
}
else
{
if(top==-1)
{
printf("bad");
return 0;
}
pop();
}
}
if (top==-1)
{
printf("good");
}
else
{
printf("bad");
}
return 0;
}
#include <stdio.h>
int Q[100];
int f=-1, r=-1;//r넣는곳 f나가는곳
void enq(int a)//enq들어가는거deq나가는거
{
Q[++r]=a;
}
int deq()
{
return Q[++f];
}
int main()
{
int a, i;
scanf("%d", &a);
enq(a);
enq(12);
printf("%d ", deq());
printf("%d", deq());
return 0;
}
#include <stdio.h>
typedef struct
{
int m,c,n;
}s;
int main()
{
int i, n, j;
s st[1001], tmp;
scanf("%d", &n);
for (i=1;i<=n;i++)
{
scanf("%d %d", &st[i].m, &st[i].c);
st[i].n=i;
}
for (i=1;i<n;i++)
{
for (j=1;j<=n-i;j++)
{
if (st[j].m<st[j+1].m)
{
tmp=st[j];
st[j]=st[j+1];
st[j+1]=tmp;
}
else if (st[j].m==st[j+1].m)
{
if (st[j].c<st[j+1].c)
{
tmp=st[j];
st[j]=st[j+1];
st[j+1]=tmp;
}
else if (st[j].c==st[j+1].c)
{
if (st[j].n>st[j+1].n)
{
tmp=st[j];
st[j]=st[j+1];
st[j+1]=tmp;
}
}
}
}
}
for (i=1;i<=n;i++)
{
printf("%d %d %d\n", st[i].n, st[i].m, st[i].c);
}
}
#include <stdio.h>
int main()
{
int a, b, c, i;
scanf("%d %d %d", &a, &b, &c);
for (i=a;i>=1;i--)
{
if (a%i==0&&b%i==0&&c%i==0)
{
printf("%d", i);
return 0;
}
}
return 0;
}
*/
#include <stdio.h>
int stack[200], t=-1;
void push(int a)
{
stack[++t]=a;
}
void top()
{
printf("%d", stack[t]);
}
void pop()
{
stack[t]=0;
t--;
}
void size()
{
printf("%d", t+1);
}
void empty()
{
if (t==-1)
{
printf("true");
}
else
{
printf("false");
}
}
int main()
{
int n, i, on;
char order[10];
scanf("%d", &n);
for (i=0;i<n;i++)
{
gets(order);
if (order[1]=='u') //push
{
//
push(order[4]);
}
else if (order[0]=='t')
{
top();
}
else if (order[0]=='p')//
{
pop();
}
else if (order[0]=='s')//
{
size();
}
else if (order[0]=='e')//
{
empty();
}
}
return 0;
}