#include using namespace std; int solve(vector s, vector t) { int N = s.size(), M = t.size(); int now = s[0], i = 1, j = 0, h = 1; while(1) { while(j < M and t[j] >= now) j += 1; if(j == M) break; h += 1, now = t[j]; while(i < N and s[i] >= now) i += 1; if(i == N) break; h += 1, now = s[i]; } return h; } int main(void) { int Nw; cin >> Nw; vector W(Nw); for(int i = 0; i < Nw; ++i) cin >> W[i]; int Nb; cin >> Nb; vector B(Nb); for(int i = 0; i < Nb; ++i) cin >> B[i]; sort(W.rbegin(), W.rend()); sort(B.rbegin(), B.rend()); cout << max(solve(W, B), solve(B, W)) << "\n"; return 0; }