#エラストテネスのふるいを用いることを考える

#出たものの倍数をいれるダメリストを準備しておく。

#各a[i]についてダメリストに入っていないものが求める個数である

#同じものが複数回出てくるもの（Counterを使えばいい）に関してはダメリストにその数もいれれば良い

from collections import Counter

n=int(eval(input()))

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

a.sort()

min_a=a[0]

max_a=a[n-1]

#同じものが複数回出てくるもののcheck

dic=Counter(a)

#別リスト

check=set()



for i in range(n):

  if a[i] not in check:

    if dic[a[i]]>=2:

      check.add(a[i])

    for j in range(2,int((max_a)/a[i])+1):

      check.add(a[i]*j)

ans=0

for i in range(n):

  if a[i] not in check:

    ans=ans+1



print(ans)



  

    

    
n=int(eval(input()))

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

a.sort()

k=max(a)



num_list=set()

prime_list=set()



from collections import Counter

dic=Counter(a)

a=set(a)



for i in dic:

  if dic[i]>=2:

    dic[i]=0

  if i not in num_list:

    for j in range(i*2,k+1,i):

      if j in a:

        dic[j]=0

        num_list.add(j)



print((sum(dic.values())))



      

  
# エラストテネスのふるいを用いることを考える
# 出たものの倍数をいれるダメリストを準備しておく。
# 各a[i]についてダメリストに入っていないものが求める個数である
# 同じものが複数回出てくるもの（Counterを使えばいい）に関してはダメリストにその数もいれれば良い
from collections import Counter

n = int(eval(input()))
a = list(map(int, input().split()))
a.sort()
min_a = a[0]
max_a = a[n - 1]
# 同じものが複数回出てくるもののcheck
dic = Counter(a)
# 別リスト
check = set()
for i in range(n):
    if a[i] not in check:
        if dic[a[i]] >= 2:
            check.add(a[i])
        for j in range(2, int((max_a) / a[i]) + 1):
            check.add(a[i] * j)
ans = 0
for i in range(n):
    if a[i] not in check:
        ans = ans + 1
print(ans)

n = int(eval(input()))
a = list(map(int, input().split()))
a.sort()
k = max(a)
num_list = set()
prime_list = set()
from collections import Counter

dic = Counter(a)
a = set(a)
for i in dic:
    if dic[i] >= 2:
        dic[i] = 0
    if i not in num_list:
        for j in range(i * 2, k + 1, i):
            if j in a:
                dic[j] = 0
                num_list.add(j)
print((sum(dic.values())))

-# エラストテネスのふるいを用いることを考える -# 出たものの倍数をいれるダメリストを準備しておく。 -# 各a[i]についてダメリストに入っていないものが求める個数である -# 同じものが複数回出てくるもの（Counterを使えばいい）に関してはダメリストにその数もいれれば良い -from collections import Counter - -min_a = a[0] -max_a = a[n - 1] -# 同じものが複数回出てくるもののcheck +k = max(a) +num_list = set() +prime_list = set() +from collections import Counter + -# 別リスト -check = set() -for i in range(n): -    if a[i] not in check: -        if dic[a[i]] >= 2: -            check.add(a[i]) -        for j in range(2, int((max_a) / a[i]) + 1): -            check.add(a[i] * j) -ans = 0 -for i in range(n): -    if a[i] not in check: -        ans = ans + 1 -print(ans) +a = set(a) +for i in dic: +    if dic[i] >= 2: +        dic[i] = 0 +    if i not in num_list: +        for j in range(i * 2, k + 1, i): +            if j in a: +                dic[j] = 0 +                num_list.add(j) +print((sum(dic.values())))