#region Header #!/usr/bin/env python3 # from typing import * import sys import io import math import collections import decimal import itertools from queue import PriorityQueue import bisect import heapq def input(): return sys.stdin.readline()[:-1] sys.setrecursionlimit(1000000) #endregion # _INPUT = """2 # 1 3 # 1 # 2 # """ # sys.stdin = io.StringIO(_INPUT) def solve(NW, W, NB, B, flag): i1 = 0 i2 = 0 l = 10**10 n = 0 while True: if flag: while True: if i1 == NW: return n elif W[i1] < l: l = W[i1] i1 += 1 n += 1 break i1 += 1 else: while True: if i2 == NB: return n elif B[i2] < l: l = B[i2] i2 += 1 n += 1 break i2 += 1 flag = not flag def main(): NW = int(input()) W = sorted(list(map(int, input().split())), reverse=True) NB = int(input()) B = sorted(list(map(int, input().split())), reverse=True) n1 = solve(NW, W, NB, B, True) n2 = solve(NW, W, NB, B, False) print(max(n1, n2)) if __name__ == '__main__': main()