#include <list>
#include <algorithm>
#include <stdio.h>
#include <iostream>
using namespace std;
list <long long> head;
list <long long> ::iterator tt[999999];
list<long long>::iterator it;
long long n,i,k,p,del;
inline void printList()
{
for(it=head.begin();it!=head.end();it++)
cout<<*it<<" ";
cout<<endl;
}
int main()
{
scanf("%lld",&n);
head.push_back(1);
tt[1]=head.begin();
for(i=2;i<=n;i++)
{
scanf("%lld%lld",&k,&p);
list <long long>::iterator t=tt[k];
if(t!=head.end())
{
if(p){
tt[i]=head.insert(++t,i);
}
else{
tt[i]=head.insert(t,i);
}
}
}
scanf("%lld",&del);
for(long long i=1,delwho;i<=del;i++)
{
scanf("%lld",&delwho);
list <long long>::iterator a = tt[delwho];
if(a != head.end())
{
head.erase(a);
tt[k] = head.end();
}
}
printList();
return 0;
}
卡死了,救救孩子吧!