#include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef double db; typedef pair Pii; #define reg register #define mp make_pair #define pb push_back #define Mod1(x) ((x>=P)&&(x-=P)) #define Mod2(x) ((x<0)&&(x+=P)) #define rep(i,a,b) for(int i=a,i##end=b;i<=i##end;++i) #define drep(i,a,b) for(int i=a,i##end=b;i>=i##end;--i) template inline void cmin(T &a,T b){ ((a>b)&&(a=b)); } template inline void cmax(T &a,T b){ ((a T rd(){ T s=0; int f=0; while(!isdigit(IO=getchar())) f|=IO=='-'; do s=(s<<1)+(s<<3)+(IO^'0'); while(isdigit(IO=getchar())); return f?-s:s; } bool Mbe; const int N=5e6+10,INF=1e9+10,P=998244353; int n; int F[N]; int Find(int x){ return F[x]==x?x:F[x]=Find(F[x]); } bool Med; int main(){ n=rd(); rep(i,1,n+1) F[i]=i; rep(i,1,n) { int opt=rd(); if(opt==1) { int x=rd(); F[x]=x+1; } else { int x=rd(); int p=Find(1); if(p==x) p=Find(p+1); printf("%d\n",p); } } }