N = int(eval(input())) # 青いカードの枚数

s = [eval(input()) for _ in range(N)] # 青いカードに書かれている文字列

M = int(eval(input())) # 赤いカードの枚数

t = [eval(input()) for _ in range(M)]



count = [s.count(s[i]) - t.count(s[i]) for i in range(N)] # sにある要素で得点をリストに入れる(tのみにある文字列は答えになり得ない)

ans = max(0, max(count)) # countが全て負だったら0を返す



print(ans)

N = int(eval(input())) # 青いカードの枚数

s = [eval(input()) for _ in range(N)] # 青いカードに書かれている文字列

M = int(eval(input())) # 赤いカードの枚数

t = [eval(input()) for _ in range(M)]



sset = list(set(s)) # set型のままではインデックスを選べないので注意,この文はなくても良いがforループの短縮に繋がる

count = [s.count(sset[i]) - t.count(sset[i]) for i in range(len(sset))] # sにある要素で得点をリストに入れる(tのみにある文字列は答えになり得ない)

ans = max(0, max(count)) # countの最大値が負だったら0を返す



print(ans)

N = int(eval(input()))  # 青いカードの枚数
s = [eval(input()) for _ in range(N)]  # 青いカードに書かれている文字列
M = int(eval(input()))  # 赤いカードの枚数
t = [eval(input()) for _ in range(M)]
count = [
    s.count(s[i]) - t.count(s[i]) for i in range(N)
]  # sにある要素で得点をリストに入れる(tのみにある文字列は答えになり得ない)
ans = max(0, max(count))  # countが全て負だったら0を返す
print(ans)

N = int(eval(input()))  # 青いカードの枚数
s = [eval(input()) for _ in range(N)]  # 青いカードに書かれている文字列
M = int(eval(input()))  # 赤いカードの枚数
t = [eval(input()) for _ in range(M)]
sset = list(set(s))  # set型のままではインデックスを選べないので注意,この文はなくても良いがforループの短縮に繋がる
count = [
    s.count(sset[i]) - t.count(sset[i]) for i in range(len(sset))
]  # sにある要素で得点をリストに入れる(tのみにある文字列は答えになり得ない)
ans = max(0, max(count))  # countの最大値が負だったら0を返す
print(ans)

+sset = list(set(s))  # set型のままではインデックスを選べないので注意,この文はなくても良いがforループの短縮に繋がる -    s.count(s[i]) - t.count(s[i]) for i in range(N) +    s.count(sset[i]) - t.count(sset[i]) for i in range(len(sset)) -ans = max(0, max(count))  # countが全て負だったら0を返す +ans = max(0, max(count))  # countの最大値が負だったら0を返す