# 辞書を用意して最大値を取得する



N = int(eval(input()))

a = list(map(int, input().split()))



cnt = {}



for i in a:

    for j in [-1,0,1]:

        cnt.setdefault(i+j, 0)

        cnt[i+j] += 1



print((max(cnt.values())))
n = int(eval(input()))

cnt = [0] * 100002

a = list(map(int, input().split()))

for v in a:

    cnt[v-1] += 1

    cnt[v] += 1

    cnt[v+1] += 1

    

print((max(cnt)))
# 辞書を用意して最大値を取得する
N = int(eval(input()))
a = list(map(int, input().split()))
cnt = {}
for i in a:
    for j in [-1, 0, 1]:
        cnt.setdefault(i + j, 0)
        cnt[i + j] += 1
print((max(cnt.values())))

n = int(eval(input()))
cnt = [0] * 100002
a = list(map(int, input().split()))
for v in a:
    cnt[v - 1] += 1
    cnt[v] += 1
    cnt[v + 1] += 1
print((max(cnt)))

-# 辞書を用意して最大値を取得する -N = int(eval(input())) +n = int(eval(input())) +cnt = [0] * 100002 -cnt = {} -for i in a: -    for j in [-1, 0, 1]: -        cnt.setdefault(i + j, 0) -        cnt[i + j] += 1 -print((max(cnt.values()))) +for v in a: +    cnt[v - 1] += 1 +    cnt[v] += 1 +    cnt[v + 1] += 1 +print((max(cnt)))