import numpy as np



n = int(eval(input()))

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

a_max = max(a)

lst = [0] * (a_max + 1)

cnt = 0

# if len(a) <= 1:

#     print(0)

# else:

for i in a:

    if lst[i] > 1:  # 配列中のカウントが2以上なら以降の処理を省略

        continue

    for j in range(a_max // i + 1):  # Aiの倍数にインクリメント(配列の上限はa[-1])

        lst[i * j] += 1

    # lst[1::i] += 1

for i in a:

    if lst[i] == 1:

        cnt += 1

print(cnt)
n = int(eval(input()))

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

a_max = max(a)

lst = [0] * (a_max + 1)

cnt = 0

for i in a:

    if lst[i] > 1:  # 配列中のカウントが2以上なら以降の処理を省略

        continue

    for j in range(a_max // i + 1):  # Aiの倍数にインクリメント(配列の上限はa[-1])

        lst[i * j] += 1

    # lst[1::i] += 1

for i in a:

    if lst[i] == 1:

        cnt += 1

print(cnt)
import numpy as np

n = int(eval(input()))
a = list(map(int, input().split()))
a_max = max(a)
lst = [0] * (a_max + 1)
cnt = 0
# if len(a) <= 1:
#     print(0)
# else:
for i in a:
    if lst[i] > 1:  # 配列中のカウントが2以上なら以降の処理を省略
        continue
    for j in range(a_max // i + 1):  # Aiの倍数にインクリメント(配列の上限はa[-1])
        lst[i * j] += 1
    # lst[1::i] += 1
for i in a:
    if lst[i] == 1:
        cnt += 1
print(cnt)

n = int(eval(input()))
a = list(map(int, input().split()))
a_max = max(a)
lst = [0] * (a_max + 1)
cnt = 0
for i in a:
    if lst[i] > 1:  # 配列中のカウントが2以上なら以降の処理を省略
        continue
    for j in range(a_max // i + 1):  # Aiの倍数にインクリメント(配列の上限はa[-1])
        lst[i * j] += 1
    # lst[1::i] += 1
for i in a:
    if lst[i] == 1:
        cnt += 1
print(cnt)

-import numpy as np - -# if len(a) <= 1: -#     print(0) -# else: