#include #include #include using namespace std; const int N=5*1e6+2; int g[N],c[N],n,ri,l,r,mid,delta; int read(){ int x=0,f=1;char c=getchar(); while(c<'0'||c>'9'){ if(c=='-') f=-1; c=getchar(); } while(c>='0'&&c<='9'){ x=(x<<3)+(x<<1)+c-'0'; c=getchar(); } return x*f; }; void add(int x){ for(;x<=n;x+=(x&-x)) c[x]++; } int ask(int x){ int ans=0; for(;x;x-=(x&-x)) ans+=c[x]; return ans; } int main(){ n=read(); for(int i=1;i<=n;i++){ int a=read(),b=read(); if(a==1){ ri=max(ri,b); if(!g[b]) add(b); g[b]=1; } else{ l=0,r=max(ri,b)+1,delta=0; if(!g[b]) delta=1; while(l>1; int res=ask(mid); if(res==mid||(res==mid-delta&&b<=mid)) l=mid+1; else r=mid; } printf("%d\n",l); } } return 0; }