#include<bits/stdc++.h>
using namespace std;
template<class T>inline void read(T &x){
x = 0;bool flag = 0;char ch = getchar();
while(!isdigit(ch)) flag |= ch == '-',ch = getchar();
while(isdigit(ch)) x = (x << 1) + (x << 3) + (ch ^ 48),ch = getchar();
if(flag) x = -x;
}
list<int> v;
int s,n,m;
int main(){
int i,j;
v.push_front(1);
read(s);
for(i=2;i<=s;i++)
{
read(n);
read(m);
list<int>::iterator it=find(v.begin(),v.end(),n);
if(m) it++;
v.insert(it,i);
}
read(s);
for(i=1;i<=s;i++)
{
read(n);
v.remove(n);
}
list<int>::iterator it1;
for(it1=v.begin();it1!=v.end();it1++)
{
cout<<*it1<<" ";
}
cout << endl;
return 0;
}