#include<bits/stdc++.h>
using namespace std;
const int N = 1e6;
int c;
int n;
int h[N],l[N];
void insert(int x,int id)
{
c++;
h[x]=id;
return;
}
int find(int x)
{
c--;
int q=1;
return h[x];
}
void del(int x)
{
h[x]=h[h[x]];
return;
}
int main()
{
cin>>n;
h[1]=-1;
for(int i=1;i<=n;i++)
{
int x;
cin>>x;
if(x==1)
{
int a,b;
cin>>a>>b;
insert(a,b);
}
if(x==2)
{
int a;
cin>>a;
cout<<find(a)<<endl;
}
if(x==3)
{
int a;
cin>>a;
del(a);
}
}
}