N = [] L = [] inf = 10 ** 18 N.append(int(input())) L.append(list(map(int, input().split())) + [-inf]) N.append(int(input())) L.append(list(map(int, input().split())) + [-inf]) for i in range(2): L[i].sort(reverse=True) ans = 0 for i in range(2): flag = i ind = [0, 0] v = inf cnt = 0 while ind[flag] != N[flag]: while L[flag][ind[flag]] >= v and ind[flag] != N[flag]: ind[flag] += 1 if ind[flag] != N[flag]: cnt += 1 v = L[flag][ind[flag]] ind[flag] += 1 flag = 1 - flag # print("test", i, cnt, flag, L[flag][ind[flag]], ind[0], ind[1]) ans = max(ans, cnt) print(ans)