#include<stdio.h>
#include<math.h>
int stack[200005];
int top=0, idx=0;
int search()
{
int idx=0;
for(int i=0;i<top;i++)
idx = stack[i]>=stack[idx]? i:idx;
return idx;
}
int main()
{
int n,x;
scanf("%d",&n);
while(n--)
{
scanf("%d",&x);
if(x==0)
{
scanf("%d",&stack[top]);
if(stack[top]>=stack[idx])
idx=top;
top++;
}
else if(x==2)
printf("%d\n",stack[idx]);
else
{
stack[top-1]=0;
top--;
if(idx==top)
idx=search();
}
}
return 0;
}