#include <bits/stdc++.h>
using namespace std;
int pre[200005],nxt[200005];
bool v[200005];
int main()
{
int n,k,p;
cin>>n;
pre[0]=-1;
nxt[0]=1;
pre[n+1]=n;
nxt[n+1]=-1;
for(int i=1;i<=n;i++)
{
pre[i]=i-1;
nxt[i]=i+1;
}
for(int i=2;i<=n;i++)
{
cin>>k>>p;
if(p==0)
{
pre[nxt[i]]=pre[i];
nxt[pre[i]]=nxt[i];
pre[i]=pre[k];
nxt[pre[k]]=i;
nxt[i]=k;
pre[k]=i;
}
if(p==1)
{
pre[nxt[i]]=pre[i];
nxt[pre[i]]=nxt[i];
pre[i]=pre[k+1];
nxt[pre[k+1]]=i;
nxt[i]=k+1;
pre[k+1]=i;
}
}
int t,s;
cin>>t;
for(int i=1;i<=t;i++)
{
cin>>s;
if(v[s]==0)
{
nxt[pre[s]]=nxt[s];
pre[nxt[s]]=pre[s];
v[s]=1;
}
}
int x=0;
for(int i=1;i<=n;i++)
if(v[i]==0)
x++;
int a=nxt[0];
while(x!=0)
{
cout<<a<<" ";
a=nxt[a];
x--;
}
return 0;
}