import bisect

# 操作回数を入力する

N = int(eval(input()))

# 言う数字を入力する

list_A = [int(eval(input())) for _ in range(N)]

# 紙の状態を設定する

paper = []

# 

for A in list_A:

    if paper == []:

        paper.append(A)

        continue

    # 紙上のAをニ分探索する

    index = bisect.bisect_left(paper, A)

    if index < len(paper) and paper[index] == A:

        del paper[index]

    else:

        paper.insert(index, A)

# 結果を出力する

print((len(paper)))
# 操作回数を入力する

N = int(eval(input()))

# 言う数字を入力する

list_A = [int(eval(input())) for _ in range(N)]

# 数字を昇順に並べる

list_A.sort()

# 終了後に残っている数字の数を設定する

ans = 0

# 直前の数字を設定する

num = 0

# ある数字が連続している回数を設定する

count = 0

# 昇順に並んだ各数字Aについて、、

for A in list_A:

    # 数字Aが直前の数字と同じ場合、、

    if A == num:

        # 連続回数を増やす

        count += 1

    # 数字Aが直前の数字と異なる場合、、

    else:

        # 直前の数字の連続回数が奇数の場合、、

        if count % 2 != 0:

            # 終了後に残っている数字の数を増やす

            ans += 1

        # 直前の数字と連続回数を更新する

        num = A

        count = 1        

# 最後の数字について、連続回数が奇数の場合、終了後に残っている数字の数を増やす

if count % 2 != 0:

    ans += 1

# 結果を出力する

print(ans)
import bisect

# 操作回数を入力する
N = int(eval(input()))
# 言う数字を入力する
list_A = [int(eval(input())) for _ in range(N)]
# 紙の状態を設定する
paper = []
#
for A in list_A:
    if paper == []:
        paper.append(A)
        continue
    # 紙上のAをニ分探索する
    index = bisect.bisect_left(paper, A)
    if index < len(paper) and paper[index] == A:
        del paper[index]
    else:
        paper.insert(index, A)
# 結果を出力する
print((len(paper)))

# 操作回数を入力する
N = int(eval(input()))
# 言う数字を入力する
list_A = [int(eval(input())) for _ in range(N)]
# 数字を昇順に並べる
list_A.sort()
# 終了後に残っている数字の数を設定する
ans = 0
# 直前の数字を設定する
num = 0
# ある数字が連続している回数を設定する
count = 0
# 昇順に並んだ各数字Aについて、、
for A in list_A:
    # 数字Aが直前の数字と同じ場合、、
    if A == num:
        # 連続回数を増やす
        count += 1
    # 数字Aが直前の数字と異なる場合、、
    else:
        # 直前の数字の連続回数が奇数の場合、、
        if count % 2 != 0:
            # 終了後に残っている数字の数を増やす
            ans += 1
        # 直前の数字と連続回数を更新する
        num = A
        count = 1
# 最後の数字について、連続回数が奇数の場合、終了後に残っている数字の数を増やす
if count % 2 != 0:
    ans += 1
# 結果を出力する
print(ans)

-import bisect - -# 紙の状態を設定する -paper = [] -# +# 数字を昇順に並べる +list_A.sort() +# 終了後に残っている数字の数を設定する +ans = 0 +# 直前の数字を設定する +num = 0 +# ある数字が連続している回数を設定する +count = 0 +# 昇順に並んだ各数字Aについて、、 -    if paper == []: -        paper.append(A) -        continue -    # 紙上のAをニ分探索する -    index = bisect.bisect_left(paper, A) -    if index < len(paper) and paper[index] == A: -        del paper[index] +    # 数字Aが直前の数字と同じ場合、、 +    if A == num: +        # 連続回数を増やす +        count += 1 +    # 数字Aが直前の数字と異なる場合、、 -        paper.insert(index, A) +        # 直前の数字の連続回数が奇数の場合、、 +        if count % 2 != 0: +            # 終了後に残っている数字の数を増やす +            ans += 1 +        # 直前の数字と連続回数を更新する +        num = A +        count = 1 +# 最後の数字について、連続回数が奇数の場合、終了後に残っている数字の数を増やす +if count % 2 != 0: +    ans += 1 -print((len(paper))) +print(ans)