#include <bits/stdc++.h>
using namespace std;
int L[1000005],R[1000005];
void add(int x,int y)
{
R[x]=y;
L[y]=x;
}
void del(int x)
{
add(L[x],R[x]);
}
int main()
{
int n;
cin>>n;
R[0]=1;
L[1]=0;
while(n--)
{
int op;
cin>>op;
if(op==1)
{
int x,y;
cin>>x>>y;
add(x,y);
}
else if(op==2)
{
int x;
cin>>x;
cout<<R[x]<<"\n";
}
else
{
int x;
cin>>x;
if(R[x]==0)continue;
del(R[x]);
}
}
return 0;
}
单向链表那题