#include<bits/stdc++.h>
using namespace std;
void rz(int a[],int &n,int &b){
n++;
a[n-1]=b;
}
void cz(int a[],int &n){
if(n==0){
return ;
}
n--;
}
int Max(int a[],int &n){
if(n==0){
return 0;
}
int m=a[0];
for(int i=1;i<n;i++){
m=max(m,a[i]);
}
return m;
}
int arr[1000000],n0,x,y,s=0;
int main(){
cin>>n0;
for(int i=0;i<n0;i++){
cin>>x;
if(x==0){
cin>>y;
rz(arr,s,y);
}
else if(x==1){
cz(arr,s);
}
else{
cout<<Max(arr,s)<<endl;
}
}
return 0;
}