import sys

readline = sys.stdin.readline



import numpy as np

from collections import Counter

from numba import njit









N = int(eval(input()))

A = np.array(readline().split(), np.int32)



count = np.zeros((A.max() + 1))

for a in A:

    if count[a] > 1:

        continue

    count[::a] += 1



ret = 0

for a in A:

    ret += count[a] == 1



print(ret)
import sys

readline = sys.stdin.readline



import numpy as np

from numba import njit





@njit('i8(i4[::1],)', cache=True)

def f(A):

    count = np.zeros((A.max() + 1))

    for a in A:

        if count[a] > 1:

            continue

        count[::a] += 1



    ret = 0

    for a in A:

        ret += count[a] == 1



    return ret



N = int(eval(input()))

A = np.array(readline().split(), np.int32)



print((f(A)))
import sys

readline = sys.stdin.readline
import numpy as np
from collections import Counter
from numba import njit

N = int(eval(input()))
A = np.array(readline().split(), np.int32)
count = np.zeros((A.max() + 1))
for a in A:
    if count[a] > 1:
        continue
    count[::a] += 1
ret = 0
for a in A:
    ret += count[a] == 1
print(ret)

import sys

readline = sys.stdin.readline
import numpy as np
from numba import njit


@njit("i8(i4[::1],)", cache=True)
def f(A):
    count = np.zeros((A.max() + 1))
    for a in A:
        if count[a] > 1:
            continue
        count[::a] += 1
    ret = 0
    for a in A:
        ret += count[a] == 1
    return ret


N = int(eval(input()))
A = np.array(readline().split(), np.int32)
print((f(A)))

-from collections import Counter + + +@njit("i8(i4[::1],)", cache=True) +def f(A): +    count = np.zeros((A.max() + 1)) +    for a in A: +        if count[a] > 1: +            continue +        count[::a] += 1 +    ret = 0 +    for a in A: +        ret += count[a] == 1 +    return ret + -count = np.zeros((A.max() + 1)) -for a in A: -    if count[a] > 1: -        continue -    count[::a] += 1 -ret = 0 -for a in A: -    ret += count[a] == 1 -print(ret) +print((f(A)))