#include<bits/stdc++.h>
using namespace std;
struct List{
int s,t;
}lists[111111];
int n,m,k,p,d;
int main(){
lists[0]={-2,1};
lists[1]={0,-1};
cin>>n;
for(int i=2;i<=n;i++){
cin>>k>>p;
if(p==0){
int l=lists[k].s;
lists[k].s=i;
lists[l].t=i;
lists[i].s=l;
lists[i].t=k;
}
else{
int r=lists[k].t;
lists[k].t=i;
lists[r].s=i;
lists[i].t=r;
lists[i].s=k;
}
}
cin>>m;
while(m--){
cin>>d;
lists[lists[d].s].t=lists[d].t;
lists[lists[d].t].s=lists[d].s;
}
int now=0;
while(lists[now].t!=-1){
cout<<lists[now].t<<" ";
now=lists[now].t;
}
}