#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e5+10;
int q[N];
signed main() {
int n;
cin>>n;
int a,b;
stack<int> s;
for(int i=1;i<=n;i++){
cin>>a;
if(a==0){
cin>>b;
s.push(b);
}
if(a==1){
s.pop();
}
if(a==2){
int k=s.size();
int maxx=-1;
for(int i=k;i>=1;i--){
q[i]=s.top();
s.pop();
maxx=max(maxx,q[i]);
}
for(int i=1;i<=k;i++){
s.push(q[i]);
q[i]=0;
}
if(s.empty()){
cout<<"0\n";
}
else{
cout<<maxx<<"\n";
}
}
}
return 0;
}