#include <bits/stdc++.h>
using namespace std;
#define int long long
const int maxn=1e6+10;
int tack[maxn];/*
int o=7;
void check(){
for(int i=1;i<=o;i++){
cout<<"tack["<<i<<"]="<<tack[i]<<endl;
}
}*/
signed main(){
int n;
scanf("%lld",&n);
for(int i=1;i<=n;i++){
int op;
scanf("%lld",&op);
//cout<<endl<<op<<endl;
if(op==1) {
int x;
scanf("%lld",&x);
//cout<<endl<<x<<endl;
tack[x]++;
//cout<<tack[x]<<endl;
//check();
}
else if (op == 2){
//check();
int i=1;
while(tack[i]==0) i++;
cout<<i<<endl;
//check();
}
else if(op == 3) {
//check();
int i=1;
while(tack[i]==0) i++;
tack[i]--;
//check();
}
}
return 0;
}