#include <bits/stdc++.h>
#include <list>
using namespace std;
int main()
{
int n,m;
cin>>n;
list<int> a;
a.push_front(1);
for(int i=2;i<=n;i++)
{
int k,p;
cin>>k>>p;
if(p==0)
{
if(k==a.front())
{
a.push_front(i);
}
else
{
a.insert(k-1,i);//这里报错
}
}
else if(p==1)
{
a.insert(k,i);
}
}
cin>>m;
for(int i=1;i<=m;i++)
{
int x;
cin>>x;
a.remove(x);
}
for(int i=1;i<=a.size();i++)
{
printf("%d ",a.begin());
a.pop_front()
}
return 0;
}