/*
#include<stdio.h>
int main()
{
int map[101][101]={};
int x,y,a,b,c=1,d=1,i,j;
scanf("%d %d",&x,&y);
a=0;
b=0;
for(i=1; i<=x; i++)
{
if(a+1>x||b-1>y)
{
a=1;
b=c++;
}
else
{
a++;
b--;
}
map[a][b]=i;
}
for(i=x; i<=x+y; i++)
{
if(a+1>x||b-1>y)
{
a=d++;
b=y;
}
else
{
a++;
b--;
}
map[a][b]=i;
}
for(i=0; i<=15; i++)
{
for(j=0; j<=15; j++)
{
printf("%d ",map[i][j]);
}
printf("\n");
}
return 0;
}
*/
/*
#include <stdio.h>
int stack[500];
int top = -1;
// top : 마지막 데이터의 위치
void push(int data)
{
stack[++top]=data;
}
int pop()
{
return stack[top--];
//top--;
}
int main()
{
return 0;
}
*/
/*
#include <stdio.h>
#include <string.h>
char stack[210]={};
int top=0;
void push(char x)
{
stack[top++]=x;
}
int main()
{
int x,z=0;
char y,line[201];
scanf("%d\n",&x);
gets(line);
for(int i=1; i<=x; i++)
{
push(line[i-1]);
if((x-i)%3==0)
{
push(',');
}
}
for(int i=0; i<top-1; i++)
{
printf("%c",stack[i]);
}
return 0;
}
*/
/*
#include<stdio.h>
int stack[100001]={};
int top=1;
int main()
{
int x,y,z=0;
for(int i=1; i<=x; i++)
scanf("%d",&x);
{
scanf("%d",&y);
if(y!=0)
{
stack[top]=y;
top++;
}
else
{
stack[top-1]=0;
top--;
}
}
for(int j=1; j<top; j++)
{
z=z+stack[j];
}
printf("%d",z);
}
*/
#include<stdio.h>
#include<string.h>
int stack[201]={};
int top=-1;
void push(int data)
{
stack[++top]=data;
}
void yop()
{
if(top==-1)
{
printf("-1\n");
}
else
{
printf("%d\n",stack[top]);
}
}
void pop()
{
if(top>-1)
{
top--;
}
}
void size()
{
printf("%d\n",top+1);
}
void empty()
{
if(top==-1)
{
printf("true\n");
}
else
{
printf("false\n");
}
}
int main()
{
int x,y,i;
char z[10]={};
scanf("%d",&x);
for(i=0; i<x; i++)
{
scanf("%s",z);
if(z[1]=='u')
{
scanf("%d )",&y);
push(y);
}
else if(z[0]=='t')
{
yop();
}
else if(z[0]=='p')
{
pop();
}
else if(z[0]=='s')
{
size();
}
else if(z[0]=='e')
{
empty();
}
}
return 0;
}
/*
#include<stdio.h>
int main()
{
for(;;)
{
printf(" no time left!! ");
}
}*/