Buggy python submission (verdict: Runtime Error):
from collections import Counter
import bisect
n = int(input()) #リストの要素数
a = list(map(int, input().split())) #リストの要素
cnt = Counter(a) #aの要素数についての辞書
a.sort()#aを小さい順にソート
ans = 0
mx = 10 ** 6
p = [0] * (mx + 1)
for i in a:
    if p[a] == 0:
        for j in range(mx + 1):
            x = i * j
            if x > mx:
                break
            p[x] = 1 #pの中でaの要素iの倍数として表現できるものに１
        if cnt[a] == 1:
            ans += 1 #pの中で任意のiの倍数として表現できず、かつ１つのみ存在するものをカウント
print(ans)

Fixed submission:
from collections import Counter
import bisect
n = int(input()) #リストの要素数
a = list(map(int, input().split())) #リストの要素
cnt = Counter(a) #aの要素数についての辞書
a.sort()#aを小さい順にソート
ans = 0
mx = 10 ** 6
p = [0] * (mx + 1)
for i in a:
    if p[i] == 0:
        for j in range(mx + 1):
            x = i * j
            if x > mx:
                break
            p[x] = 1 #pの中でaの要素iの倍数として表現できるものに１
        if cnt[i] == 1:
            ans += 1 #pの中で任意のiの倍数として表現できず、かつ１つのみ存在するものをカウント
print(ans)

Buggy python submission (verdict: Time Limit Exceeded):
from collections import deque 
n = int(input())
a = list(map(int, input().split()))
a.sort()
a = deque(a)
ln = [i for i in a if a.count(i) >= 2]
y = [min(a)]
while a:
    v = a.popleft()
    x = 0
    for j in y:
        if v % j == 0:
            break
        else:
            x += 1
        if x == len(y):
            y.append(v)
u = [i for i in y if i not in ln]
print(len(u))

Fixed submission:
from collections import Counter
import bisect
n = int(input()) #リストの要素数
a = list(map(int, input().split())) #リストの要素
cnt = Counter(a) #aの要素数についての辞書
a.sort()#aを小さい順にソート
ans = 0
mx = 10 ** 6
p = [0] * (mx + 1)
for i in a:
    if p[i] == 0:
        for j in range(mx + 1):
            x = i * j
            if x > mx:
                break
            p[x] = 1 #pの中でaの要素iの倍数として表現できるものに１
        if cnt[i] == 1:
            ans += 1 #pの中で任意のiの倍数として表現できず、かつ１つのみ存在するものをカウント
print(ans)

Buggy python submission (verdict: Time Limit Exceeded):
from collections import deque 
n = int(input())
a = list(map(int, input().split()))
a.sort()
a = deque(a)
if a.count(min(a)) >= 2:
    ans = 0
    z = 0
else:
    ans = 1
    z = 1
ln = [i for i in a if a.count(i) >= 2]
y = [min(a)]
while a:
    v = a.popleft()
    if v not in ln:
        x = 0
        for j in y:
            if v % j == 0:
                break
            else:
                x += 1
            if x == len(y):
                ans += 1
                y.append(v)
u = [i for i in y if i not in ln]
print(len(u))

Fixed submission:
from collections import Counter
import bisect
n = int(input()) #リストの要素数
a = list(map(int, input().split())) #リストの要素
cnt = Counter(a) #aの要素数についての辞書
a.sort()#aを小さい順にソート
ans = 0
mx = 10 ** 6
p = [0] * (mx + 1)
for i in a:
    if p[i] == 0:
        for j in range(mx + 1):
            x = i * j
            if x > mx:
                break
            p[x] = 1 #pの中でaの要素iの倍数として表現できるものに１
        if cnt[i] == 1:
            ans += 1 #pの中で任意のiの倍数として表現できず、かつ１つのみ存在するものをカウント
print(ans)

Buggy python submission (verdict: Time Limit Exceeded):
from collections import deque 
n = int(input())
a = list(map(int, input().split()))
a.sort(reverse = True)
a = deque(a)
if a.count(min(a)) >= 2:
    ans = 0
else:
    ans = 1
ln = [i for i in a if a.count(i) >= 2]
while a:
    v = a.popleft()
    if v not in ln:
        x = 0
        for j in a:
            if v % j == 0:
                break
            else:
                x += 1
            if x == len(a):
                ans += 1
print(ans)

Fixed submission:
from collections import Counter
import bisect
n = int(input()) #リストの要素数
a = list(map(int, input().split())) #リストの要素
cnt = Counter(a) #aの要素数についての辞書
a.sort()#aを小さい順にソート
ans = 0
mx = 10 ** 6
p = [0] * (mx + 1)
for i in a:
    if p[i] == 0:
        for j in range(mx + 1):
            x = i * j
            if x > mx:
                break
            p[x] = 1 #pの中でaの要素iの倍数として表現できるものに１
        if cnt[i] == 1:
            ans += 1 #pの中で任意のiの倍数として表現できず、かつ１つのみ存在するものをカウント
print(ans)