#include<bits/stdc++.h>
#define Iter list<int>::iterator
using namespace std;
int main(){
list<int>q;
list<int>::iterator it;
int m,n;
std::cin>>m;
Iter Mm[m+1];
q.push_back(1);
Mm[1]=q.begin();
for(int i=2;i<=m;i++){
int x,y;
std::cin>>x>>y;
if(y==0){
it=Mm[x];
q.insert(it,i);
it--;
Mm[i]=it;
}
else{
it=Mm[x];
it++;
q.insert(it,i);
it--;
Mm[i]=it;
}
}
int a[m+1],t;
std::cin>>n;
for(int i=1;i<=n;i++){
std::cin>>t;
a[t]=1;
}
it=q.begin();
while(it!=q.end()){
if(a[*it]!=1)
cout<<*it<<" ";
it++;
}
return 0;
}