#include <bits/stdc++.h>
using namespace std;
int lst[100005][2];
int main(){
int n;
scanf("%d", &n);
lst[1][0] = -1; lst[1][1] = -1;
int head = 1;
for(int i = 2;i <= n;i++){
int k, p;
scanf("%d%d", &k, &p);
if(p == 0){
if(lst[k][0] == -1){
head = i;
}
lst[i][0] = lst[k][0];
lst[lst[k][0]][1] = i;
lst[k][0] = i;
lst[i][1] = k;
}
else{
lst[i][1] = lst[k][1];
lst[lst[k][1]][0] = i;
lst[k][1] = i;
lst[i][0] = k;
}
}
int m;
scanf("%d", &m);
for(int i = 0;i < m;i++){
int t;
scanf("%d", &t);
if(lst[t][0] == -2){
continue;
}
else{
lst[lst[t][0]][1] = lst[t][1];
lst[t][0] = -2;
}
}
int now = head;
printf("%d", head);
while(true){
if(lst[now][1] == -1) break;
printf(" ");
printf("%d", lst[now][1]);
now = lst[now][1];
}
printf("\n");
return 0;
}