/*
//#include<stdio.h>
//#define size 201
//int stack[size];
//int top=-1;
//void push(int data)
//{
// if(top==size-1)
// return ;
// stack[++top]=data;
//}
//int pop()
//{
// if(top==-1)
// return 32;
// return stack[top--];
//}
//
//int main()
//{
// int n;
// char a[size];
// scanf("%d ",&n);
// for(int i=0;i<n;i++)
// {
// gets(a);
//
// if(a[1]=='u')//push
// {
// push(a[6]-'0');
// }
// else if(a[0]=='t')//top
// {
// if(top==-1)
// {
// printf("-1\n");
// }
// else
// {
// printf("%d\n",stack[top]);
// }
// }
// else if(a[0]=='p')//pop
// {
// pop();
// }
// else if(a[0]=='s')//size
// {
// printf("%d\n",top+1);
// }
// else//empty
// {
// if(top==-1)
// {
// printf("true\n");
// }
// else
// {
// printf("false\n");
// }
// }
// }
//
//}
#include<stdio.h>
#define size 201
int stack[size];
int top=-1;
void push(int data)
{
if(top==size-1)
return ;
stack[++top]=data;
}
int pop()
{
if(top==-1)
return 32;
return stack[top--];
}
int main()
{
int n,m,k=0,j=1,num=0;
char a[size];
scanf("%d ",&n);
for(int i=0;i<n;i++)
{
gets(a);
if(a[1]=='u')//push
{
for(int j=6; ;j++)
{
if(a[j]!=' ')
{
num=num*10+a[j]-'0';
}
else
{
push(num);
num=0;
break;
}
}
}
else if(a[0]=='t')//top
{
if(top==-1)
{
printf("-1\n");
}
else
{
printf("%d\n",stack[top]);
}
}
else if(a[0]=='p')//pop
{
pop();
}
else if(a[0]=='s')//size
{
printf("%d\n",top+1);
}
else//empty
{
if(top==-1)
{
printf("true\n");
}
else
{
printf("false\n");
}
}
}
}
/*
#include<stdio.h>
#include<string.h>
int main()
{
int n=0,m=0;
char a[50000];
gets(a);
for(int i=0; i<strlen(a); i++)
{
if(a[i]=='(')
{
n++;
}
else
{
n--;
}
if(n<0)
{
m=-1;
}
}
if(m==-1)
{
printf("bad");
}
else if(n==0)
{
printf("good");
}
else
{
printf("bad");
}
}
/*/
#include<stdio.h>
int main()
{
}