#include<bits/stdc++.h>
using namespace std;
int a[200000];
int nxt[200000],pre[200000];
bool b[200000];
int p,k,q;
int main()
{ int n,x,m;
cin>>n;
for(int i=2;i<=n;i++)
{
cin>>k>>p;
if(p==0)
{
nxt[i]=k;
pre[i]=pre[k];
nxt[pre[k]]=i;
pre[k]=i;
}
if(p==1)
{
nxt[i]=nxt[k];
pre[nxt[k]]=i;
nxt[k]=i;
pre[i]=k;
}
}
cin>>m;
for(int i=1;i<=m;i++)
{
cin>>x;
nxt[pre[x]]=nxt[x];
pre[nxt[x]]=pre[x];
b[x]=1;
}
int l,r;
for(int i=1;i<=n;i++)
{
if(b[i]) continue;
if(pre[i]) continue;
l=i;
}
for(int i=1;i<=n;i++)
{
if(b[i]) continue;
if(nxt[i]) continue;
r=i;
}
for(int i=l;i!=r;i=nxt[i])
printf("%d ",i);
cout<<r;
}