#include <bits/stdc++.h>
using namespace std;
int main() {
int N;
cin >> N;
vector<int> queue;
queue.push_back(1);
for (int i = 2; i <= N; i++) {
int k, p;
cin >> k >> p;
if (p == 0) {
queue.insert(queue.begin() + k - 1, i);
} else {
queue.insert(queue.begin() + k, i);
}
}
int M;
cin >> M;
for (int i = 0; i < M; i++) {
int x;
cin >> x;
for (int j = 0; j < queue.size(); j++) {
if (queue[j] == x) {
queue.erase(queue.begin() + j);
break;
}
}
}
for (int i = 0; i < queue.size(); i++) {
cout << queue[i] << " ";
}
return 0;
}