#include <bits/stdc++.h>
using namespace std;
const int cst = 2e5 + 10;
int n, m;
unordered_map<int, int> mp;
int a1, a2;
int w[cst], v[cst];
inline int readint()
{
int a = 0, c = getchar(), f = 1;
for (; !isdigit(c); c = getchar())
if (c == '-')
f = -1;
for (; isdigit(c); c = getchar())
a = (a << 1) + (a << 3) + (c ^ 48);
return a * f;
}
int main()
{
n = readint();
for (int i = 1; i <= n; i++)
{
int a = readint();
mp[a]++;
}
m = readint();
int ans = 1;
for (int i = 1; i <= m; i++)
w[i] = readint();
for (int i = 1; i <= m; i++)
v[i] = readint();
a1 = mp[w[1]], a2 = mp[v[1]];
for (int i = 2; i <= m; i++)
{
if ((mp.find(w[i]) != mp.end() && a1 < mp[w[i]]) || ((mp.find(w[i]) != mp.end() && mp.find(v[i]) != mp.end()) && a1 == mp[w[i]] && a2 < mp[v[i]]))
a1 = mp[w[i]], a2 = mp[v[i]], ans = i;
}
cout << ans;
return 0;
}
评测点