#include using namespace std; using ll = long long; using PII = std::pair; using PLL = std::pair; #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define rep2(i, s, n) for (int i = (s); i < (int)(n); i++) int main() { #ifdef DEBUG cout << "DEBUG MODE" << endl; ifstream in("input.txt"); //for debug cin.rdbuf(in.rdbuf()); //for debug #endif int n, x, s, maxorder; cin >> n; int runid[n]; int runners[n][2]; vector run; vector candidate, candidate2; rep(i, n) { cin >> x; runners[i][1] = x; runid[i] = x; } rep(i, n) { cin >> x; runners[i][0] = x; run.push_back(make_pair(runners[i][0], runners[i][1])); } sort(run.rbegin(),run.rend()); maxorder = n + 1; for (auto z : run) { if (z.second < maxorder) { maxorder = z.second; candidate.push_back(z.first); } } for (auto z : candidate) candidate2.push_back(runid[z-1]); sort(candidate2.begin(), candidate2.end()); for (auto z : candidate2) cout << z << endl; return 0; }