#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int pre[N];
int nxt[N];
int main(){
int n;
cin>>n;
int head=1;
int k,p;
for(int i=2;i<=n;i++){
cin>>k>>p;
if(p==0){
if(k=head){
head=i;
}
pre[i]=pre[k];
nxt[i]=k;
nxt[pre[k]]=i;
pre[k]=i;
}else{
pre[i]=k;
nxt[i]=nxt[k];
nxt[k]=i;
pre[nxt[i]]=i;
}
}
int q;
cin>>q;
while(q--){
int x;
cin>>x;
if(x==head){
head=nxt[x];
}
nxt[pre[x]]=nxt[x];
pre[nxt[x]]=pre[x];
pre[x]=0;
nxt[x]=0;
}
for(int i=head;i!=0;i=nxt[i]){
cout<<i<<" ";
}
return 0;
}