rt
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 2e5 + 10;
int n, m, l, o, a[MAXN], b[MAXN], c[MAXN], d[MAXN * 3], e[MAXN * 3];
unordered_map<int, int> mp;
pair<pair<int, int>, int> f[MAXN];
bool cmp(const pair<pair<int, int>, int> &i, const pair<pair<int, int>, int> &j) {
return i.first.first > j.first.first || (i.first.first == j.first.first && i.first.second < j.first.second);
}
int main() {
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> a[i];
d[++l] = a[i];
}
cin >> m;
for (int i = 1; i <= m; i++) {
cin >> b[i];
d[++l] = b[i];
}
for (int i = 1; i <= m; i++) {
cin >> c[i];
d[++l] = c[i];
}
sort(d + 1, d + n + m + m + 1);
for (int i = 1; i <= n + m + m; i++) {
if (i == 1 || d[i] != d[i - 1]) {
e[++o] = d[i];
}
}
for (int i = 1; i <= n; i++) {
mp[lower_bound(e + 1, e + o + 1, a[i]) - e]++;
}
for (int i = 1; i <= m; i++) {
b[i] = mp[lower_bound(e + 1, e + o + 1, b[i]) - e];
c[i] = mp[lower_bound(e + 1, e + o + 1, c[i]) - e];
f[i] = {{b[i], c[i]}, i};
}
sort(f + 1, f + m + 1);
cout << f[1].first.second;
return 0;
}