# -*- coding:utf-8 -*- def solve(first,second): flag = 0 ans = 0 now = float("INF") while 1: while flag == 0: if len(first) == 0: return ans if now > first[0]: ans += 1 now = first[0] flag = 1 del first[0] while flag == 1: if len(second) == 0: return ans if now > second[0]: ans += 1 now = second[0] flag = 0 del second[0] return ans if __name__ == "__main__": nw = input() W = map(int,raw_input().split()) nb = input() B = map(int,raw_input().split()) W.sort() B.sort() ans = 0 if W[::-1][0] > B[::-1][0]: print solve(W[::-1],B[::-1]) elif W[::-1][0] < B[::-1][0]: print solve(B[::-1],W[::-1]) else: print max(solve(B[::-1],W[::-1]),solve(W[::-1],B[::-1]))