#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m;
  cin >> n;
  long long p[n], y;
  set<long long> c[4];
  set<long long>::iterator it;
  c[1].insert(-1);
  c[2].insert(-1);
  c[3].insert(-1);
  int temp;
  for (int i = 0; i < n; i++) cin >> p[i];
  for (int i = 0; i < n; i++) {
    cin >> temp;
    c[temp].insert(p[i]);
  }
  for (int i = 0; i < n; i++) {
    cin >> temp;
    c[temp].insert(p[i]);
  }
  cin >> m;
  for (int i = 0; i < m; i++) {
    cin >> temp;
    it = c[temp].begin();
    it++;
    if (it == c[temp].end()) {
      cout << "-1 ";
      continue;
    } else {
      y = *it;
      cout << y << " ";
    }
    c[1].erase(y);
    c[2].erase(y);
    c[3].erase(y);
  }
  return 0;
}
