#include <iostream>
#include <stack>
using namespace std;
int main(){
stack<int>a;
int ans[100]={};
int n,b,x,max=-1,cp1=0,cp2=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>b;
a.push(b);
if(b==0){
cin>>x;
ans[i]=x;
if(x>max){
max=x;
}
}else if(b==1){
if(max==a.top()){
for(int i=1;i<=100;i++){
cp1=ans[i];
cp2=ans[i+1];
if(cp1<cp2){
cp1=cp2;
max=cp1;
}
}
}
a.pop();
}else if(b==2){
cout<<max;
}
}
return 0;
}