#include<bits/stdc++.h>
using namespace std;
const int N=1000001;
int e[N],ne[N],idx,n;
void insert(int x,int y){
e[idx]=y;
ne[idx]=ne[x];
ne[x]=idx++;
}
void remove(int x){
ne[x]=ne[ne[x]];
}
int main(){
cin>>n;
memset(e,0,sizeof e);
memset(ne,0,sizeof ne);
int a,x,y;
while(n--){
cin>>a;
if(a==1){
cin>>x>>y;
insert(x,y);
}
else if(a==2){
cin>>x;
cout<<e[ne[x]]<<endl;
}
else{
cin>>x;
remove(x);
}
}
}