#include #define debug(x) cerr<<#x<<" = "<=mod)?(x+y-mod):(x+y);} inline int mns(int x,int y){return (x-y<0)?(x-y+mod):(x-y);} inline int mul(LL x,LL y){return x*y%mod;} inline void upd(int &x,int y){x=(x+y>=mod)?(x+y-mod):(x+y);} inline void dec(int &x,int y){x=(x-y<0)?(x-y+mod):(x-y);} inline int qpow(int x,int sq){LL res=1;for(;sq;sq>>=1,x=mul(x,x))if(sq&1)res=mul(res,x);return res;} }using namespace CALC; #define M 5000020 int n,m,f[M]; inline int fd(int x){return x==f[x]?x:f[x]=fd(f[x]);} int main(){ n=read(),f[0]=1; for(int i=1;i<=n+2;i++) f[i]=i; for(int i=1;i<=n;i++){ int kd=read(),x=read(); if(kd==1){if(f[x]==x) f[x]=x+1;} else{ int a=fd(0),b=fd(a+1); if(a>n) printf("%d\n",n+1); else if(a==x) printf("%d\n",b); else printf("%d\n",a); } } return 0; }