#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
struct mex_tool {
set<int> st;
int cot[N];
void init() {
for(int i = 0; i < N; ++i) st.insert(i);
}
void insertt(int x){
if(cot[x] == 0) st.erase(x);
cot[x]++;
}
int query(){
return *st.begin();
}
void deletee(int x){
if(cot[x] == 1){
st.insert(x);
}
cot[x]--;
}
}mex;
int m, op, x;
signed main(){
mex.init();
cin >> m;
while(m--){
cin >> op;
if(op == 0){
cin >> x;
mex.insertt(x); //插入一个数
}else if(op == 1){
cout << mex.query() << "\n"; //查询MEX
}else{
cin >> x;
mex.deletee(x); //删除一个数
}
}
return 0;
}