#include #define LL long long #define PII pair #define PLI pair #define lson o<<1,l,mid #define rson o<<1|1,mid+1,r #define lowbit(x) (x&(-x)) using namespace std; const int maxn=5000010; int n,bit[maxn]; int query(int x){ int s=0; while(x>0){ s+=bit[x]; x-=lowbit(x); } return s; } void change(int x,int v){ while(x<=n){ bit[x]+=v; x+=lowbit(x); } } int main(){ #ifdef OJ freopen("data.in","r",stdin); freopen("data.out","w",stdout); #endif scanf("%d",&n); for(int i=1;i<=n;i++){ int op,x; scanf("%d %d",&op,&x); if(op==1){ if(query(x)-query(x-1)==0) change(x,1); } else{ bool modify=false; if(query(x)-query(x-1)==0){ change(x,1); modify=true; } int l=0,r=n; while(r>l){ int mid=(l+r+1)>>1; if(query(mid)==mid) l=mid; else r=mid-1; } printf("%d\n",r+1); if(modify) change(x,-1); } } }