#include <bits/stdc++.h>
using namespace std;
struct S{
int left,right,num;
}st[100003];
void add(int k,int p,int i) {
if(p) {
st[i].right=st[k].right;
st[k].right=i;
st[st[i].right].left=i;
}
else {
st[i].left=st[k].left;
st[k].left=i;
st[st[i].left].right=i;
}
}
void del(int p) {
st[p].num++;
st[st[p].left].right=st[p].right;
st[st[p].right].left=st[p].left;
}
int main()
{
int n,m,k,p;
scanf("%d",&n);
add(0,0,1);add(0,1,1);
for(int i = 2;i <= n;i++) {
scanf("%d %d",&k,&p);
add(k,p,i);
}
scanf("%d",&m);
for(int i = 1;i<=m;i++) {
scanf("%d",&k);
del(k);
}
for(int i = 1;st[i].right;i++) {
if(!st[i].num) printf("%d ",i);
}
return 0;
}