//#include<stdio.h>
//int top=-1, stack[100001]={};
//void push(int a)
//{
// top++;
// stack[top]=a;
//}
//int pop()
//{
// if(top==-1) return -1;
// return stack[top--];
//}
//int main()
//{
// int k, a, i, n=0;
// scanf("%d", &k);
// for(i=0; i<k; i++)
// {
// scanf("%d", &a);
// if(a==0)
// {
// pop();
// }
// else push(a);
// }
// for(i=0; i<=top; i++)
// {
// n+=stack[i];
// }
// printf("%d", n);
//}
//#include<stdio.h>
//char stack[300]={};
//int top=-1;
//void push(char a)
//{
// top++;
// stack[top]=a;
//}
//char pop()
//{
// return stack[top--];
//}
//int main()
//{
// int i, n;
// char a[201]={};
// scanf("%d %s", &n, a);
// for(i=n-1; i>=0; i--)
// {
// push(a[i]);
// if((n-i)%3==0&&i!=0) push(',');
// }
//
// while(top!=-1)
// {
// printf("%c", pop());
// }
//}
#include<stdio.h>
int top=-1, stack[200]={};
void push(int a)
{
top++;
stack[top]=a;
}
void pop()
{
if(top==-1) return;
top--;
}
int Top()
{
if(top==-1) return -1;
return stack[top];
}
int size()
{
return top+1;
}
void empty()
{
if(top==-1) printf("true\n");
else printf("false\n");
}
int main()
{
char c[20]={};
int a, N;
scanf("%d", &N);
for(int i=0; i<N; i++)
{
scanf("%s", c);
if(c[0]=='t') printf("%d\n", Top());
if(c[0]=='p'&&c[1]=='o') pop();
if(c[0]=='s') printf("%d\n", size());
if(c[0]=='e') empty();
if(c[0]=='p'&&c[4]=='(')
{
scanf("%d", &a);
push(a);
i--;
}
}
}