#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
const int N=114514;
int n,m,k,p,x,f[N];
vector<int>q;
int main(){
cin>>n;
for(int i=1;i<=n;i++)q.push_back(i);//每个同学的编号
for(int i=2;i<=n;i++){
cin>>k>>p;
if (p){
q.erase(find(q.begin(),q.end(),i));
q.insert(find(q.begin(),q.end(),k)+1,i);//p=0,插入左边
}
else{
q.erase(find(q.begin(),q.end(),i));
q.insert(find(q.begin(),q.end(),k),i);//p=1,插入左边
}
}
cin>>m;
for(int i=1;i<=m;i++){
cin>>x;
if(!f[x]){
q.erase(find(q.begin(),q.end(),x));
f[x]=1;
}//移去同学
}
for(int i=0;i<q.size();i++){
cout<<q[i]<<' ';//输出
}
}