#include<bits/stdc++.h>
using namespace std;
int o,p,n,m,flag[1005],l[1005],r[1005],e[1005],index;
void init(){
index=2;
e[1]=1;
r[0]=1;
l[1]=0;
}
void inser(int x,int k){
e[index]=x;
r[index]=r[k];
l[index]=k;
l[r[k]]=index;
r[k]=index;
index++;
}
void dele(int k){
r[l[k]]=r[k];
l[r[k]]=l[k];
}
int main(){
cin>>n;
init();
for (int i=2;i<=n;i++){
cin>>o>>p;
if (p==0) o=l[o];
inser(i,o);
}
cin>>m;
for (int i=1;i<=m;i++){
cin>>o;
if (flag[o]) continue;
flag[o]=1;
dele(o);
}
for (int i=r[0];e[i];i=r[i]) cout<<e[i]<<" ";
}