Nw = int(input()) W = list(map(int, input().split())) Nb = int(input()) B = list(map(int, input().split())) W.sort() B.sort() W2 = W[:] B2 = B[:] # 一番下が白のパターン(w -> b) ans1 = [100] while True: while W2: w_target = W2.pop() if w_target < ans1[-1]: # 採用して、黒にターンを回す ans1.append(w_target) break else: # 空なら抜ける break while B2: b_target = B2.pop() if b_target < ans1[-1]: # 採用して、白にターンを回す ans1.append(b_target) break else: # 空なら抜ける break # 一番下が黒のパターン(b -> w) ans2 = [100] while True: while B: b_target = B.pop() if b_target < ans2[-1]: # 採用して、白にターンを回す ans2.append(b_target) break else: # 空なら抜ける break while W: w_target = W.pop() if w_target < ans2[-1]: # 採用して、黒にターンを回す ans2.append(w_target) break else: # 空なら抜ける break ans = max(len(ans1), len(ans2)) - 1 print(ans)