#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include<math.h>
int mir[200001][2];
int n,ku[200001]={0};
int main()
{
int cho,num;
scanf("%d",&n);
int top=0;
for(int i=1;i<=n;i++)
{
scanf("%d",&cho);
if(cho==0)
scanf("%d",&num);
if(top==0&&cho==1)
continue;
else if(top==0&&cho==2)
printf("0");
else
{
if(cho==0)
{
if(top==0)
{
mir[0][0]=0;
mir[0][1]=num;
}
ku[top]=num;
if(top>0&&mir[top-1][1]<num)
{
mir[top][0]=top;
mir[top][1]=num;
}
else if(top>0&&mir[top-1][1]>=num)
{
mir[top][0]=mir[top-1][0];
mir[top][1]=mir[top-1][1];
}
top++;
}
else if(cho==1)
{
top--;
}
else if(cho==2)
{
printf("%d",mir[top-1][1]);
}
}
}
}