#include using namespace std; int now[5000005]; #define lowbit(x) (x&(-x)) int n, z[5000005]; void edit(int x, int y) { for( ; x<=n; x+=lowbit(x)) z[x]+=y; return; } int query(int x) { int res=0; for( ; x>0; x-=lowbit(x)) res+=z[x]; return res; } int main() { scanf("%d", &n); for(int i=1, opt, x; i<=n; i++) { scanf("%d%d", &opt, &x); if(opt==1) { if(now[x]==0) { now[x]=1; edit(x, 1); } } else { if(now[x]==1) { int res=0; for(int l=0, r=n+1; l<=r; ) { int mid=(l+r)/2; if(query(mid)==mid) { res=mid; l=mid+1; } else r=mid-1; } printf("%d\n", res+1); } else { now[x]=1; edit(x, 1); int res=0; for(int l=0, r=n+1; l<=r; ) { int mid=(l+r)/2; if(query(mid)==mid) { res=mid; l=mid+1; } else r=mid-1; } printf("%d\n", res+1); now[x]=0; edit(x, -1); } } } return 0; }