#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n,m;
int l[N],r[N];bool vis[N];
void ins(int i,int k,int p){
int ll=l[k];
int rr=r[k];
if(p==0){
l[i]=ll;
r[i]=k;
r[ll]=i;
l[k]=i;
}
else{
l[i]=k;
r[i]=rr;
l[rr]=i;
r[k]=i;
}
}
void del(int x){
int rr=r[x];
int ll=l[x];
l[rr]=ll;
r[ll]=rr;
r[x]=N;
}
int main(){
l[1]=0;
r[1]=N;
r[0]=1;
l[N]=1;
cin>>n;
for(int i=2;i<=n;i++){
int k,p;
cin>>k>>p;
ins(i,k,p);
}
cin>>m;
for(int i=1;i<=m;i++)
{
int x;
cin>>x;
if(vis[x]==0)
{
vis[x]=1;
del(x);
}
}
for(int i=0;i<=n;i++){
if(r[i]<N)
cout<<r[i]<<" ";
}
return 0;
}