/*
#include <stdlib.h>
int main()
{
printf("Hello world!\n");
return 0;
}
#include <stdio.h>
int m,n,k,x1,x2,y1,y2;
int x=0,z=0,t;
int arr[101][101]= {};
int f[500]={};
void dfs(int i,int j)
{
if(i>=m || i<0 || j>=n || j<0 || arr[i][j]!=0) return ;
z++;
arr[i][j]=2;
dfs(i+1,j);
dfs(i,j+1);
dfs(i-1, j);
dfs(i,j-1);
}
int main()
{
scanf("%d %d %d",&n,&m,&k);
for(int v=1; v<=k; v++)
{
scanf("%d %d %d %d",&x1,&y1,&x2,&y2);
for(int i=x1; i<x2; i++)
{
for(int j=y1; j<y2; j++)
{
arr[i][j] = 1;
}
}
}
//출력하기
/*for(int i=0; i<m; i++)
{
for(int j=0; j<n; j++)
{
if(arr[i][j]==1) printf("1 ");
else printf("0 ");
}
printf("\n");
}
for(int i=0; i<m; i++)
{
for(int j=0; j<n; j++)
{
if(arr[i][j]==0)
{
z=0;
dfs(i,j);
x++;
f[x]=z;
}
}
}
// 정려려려렬려려
for(int i=1; i<x; i++)
{
for(int j=1; j<=x-i; j++)
{
if(f[j] > f[j+1])
{
t=f[j];
f[j]=f[j+1];
f[j+1]=t;
}
}
}
printf("%d\n",x);
for(int i=1; i<=x; i++)
{
printf("%d ",f[i]);
}
return 0;
}
DFS재귀 OR 스택
BFS 큐
*/
#include <stdio.h>
int stack[1000];
int n,top=-1;
char str[201]={};
void push(int num)
{
top++;
stack[top]=num;
}
void pop()
{
if(top==-1)
{
return ;
}
top--;
}
int main()
{
int num;
//scanf("%d\n",&n);
gets(str);
for(int i=1; i<=n; i++)
{
scanf("%s ",str);
if(str[2]=='u')
{
//scanf("%d )",&num);
num=0;
push(num) ;
}
else if(str[1]=='t')
{
if(top==-1)
{
printf("-1");
}
printf("%d",top);
}
else if(str[1]=='p' && str[2]=='o')
{
pop();
printf("%d",pop);
}
else if(str[1]='s')
{
printf("%d",num);
}
else
{
if(stack==0){
printf("ture");
}
else
{
printf("false");
}
}
}
return 0;
}