#include<bits/stdc++.h>
using namespace std;
class lb{
public:
int l[100005],r[100005];
void add(int a,int k,int p){
if(p==1){
r[k]=r[a];
l[k]=a;
r[a]=k;
l[r[k]]=k;
}else{
r[k]=a;
l[k]=l[a];
l[a]=k;
r[l[k]]=k;
}
}
};
lb a;
bool b[100005];
int main(){
int n,m;
cin>>n>>m;
a.add(0,1,1);
for(int i=2;i<=n;i++){
int k,p;
cin>>k>>p;
a.add(i,k,p);
}
while(m--){
int x;
cin>>x;
b[x]=true;
}
for(int i=a.r[0];i;i=a.r[i]){
if(!b[i])
cout<<i<<" ";
}
return 0;
}