#include<bits/stdc++.h>
using namespace std;
struct qwq
{
int r,l;
}a[1005];
int sum,n,m,b[1005];
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
a[i].l=a[i].r=-1;
for(int i=2;i<=n;i++)
{
int k,p;
scanf("%d%d",&k,&p);
if(p==0)
{
a[a[k].l].r=i;
a[i].l=a[k].l;
a[k].l=i;
a[i].r=k+1;
if(k==1)
sum=i;
}
else
{
a[a[k].r].l=i;
a[i].r=a[k].r;
a[k].r=i;
a[i].l=k+1;
if(k==0)
sum=i;
}
}
scanf("%d",&m);
for(int i=1;i<=m;i++)
{
int k;
scanf("%d",&k);
if(b[k]==-1)
continue;
else if(sum==k)
{
sum=a[sum].r;
a[sum].l=-1;
b[k]=-1;
a[k].l=a[k].r=-1;
}
else
{
if(a[k].r!=-1)
{
a[a[k].r].l=a[k].l;
a[a[k].l].r=a[k].r;
}
else
a[a[k].l].r=-1;
b[k]=-1;
a[k].l=a[k].r=-1;
}
}
for(int i=1;i<=n;i++)
cout<<a[i].l<<" "<<i<<" "<<a[i].r<<endl;
while(1)
{
if(sum==-1)
break;
cout<<sum<<" ";
sum=a[sum].r;
}
cout<<endl;
return 0;
}