Buggy python submission (verdict: Runtime Error):
import numpy as np

N = int(input())
MAXX = 10**6 + 5
num = np.array(input().split(), np.int32)[:]
mark = np.zeros(MAXX, np.int32)

num = np.sort(num)
for n in num:
    if mark[n::n] < 2:
        mark[n::n] += 1

count = 0
for n in num:
    if mark[n] == 1:
        count += 1

print(count)

Fixed submission:
import numpy as np

N = int(input())
MAXX = 10**6 + 5
num = np.array(input().split(), np.int32)[:]
mark = np.zeros(MAXX, np.int32)

num = np.sort(num)
for n in num:
    if mark[n] < 2:
        mark[n::n] += 1

count = 0
for n in num:
    if mark[n] == 1:
        count += 1

print(count)

Buggy python submission (verdict: Time Limit Exceeded):
import numpy as np

N = int(input())
MAXX = 10**6 + 5
num = np.array(input().split(), np.int32)[:]
mark = np.zeros(MAXX, np.int32)

num = np.sort(num)
for n in num:
        mark[n::n] += 1

count = 0
for n in num:
    if mark[n] == 1:
        count += 1

print(count)

Fixed submission:
import numpy as np

N = int(input())
MAXX = 10**6 + 5
num = np.array(input().split(), np.int32)[:]
mark = np.zeros(MAXX, np.int32)

num = np.sort(num)
for n in num:
    if mark[n] < 2:
        mark[n::n] += 1

count = 0
for n in num:
    if mark[n] == 1:
        count += 1

print(count)

Buggy python submission (verdict: Time Limit Exceeded):
#5
#24 11 8 3 16

N = int(input())
num = list(map(int, input().split()))
divz = [0]*N

num.sort()

count = 0
for i, n in enumerate(num):
    if divz[i] == 0:
        for k in range(i+1, N):
            if divz[k] == 0:
                if num[k] == num[i]:
                    divz[i] = 1
                if num[k] % num[i] == 0:
                    divz[k] = 1
        if divz[i] == 0: count += 1

print(count)


Fixed submission:
import numpy as np

N = int(input())
MAXX = 10**6 + 5
num = np.array(input().split(), np.int32)[:]
mark = np.zeros(MAXX, np.int32)

num = np.sort(num)
for n in num:
    if mark[n] < 2:
        mark[n::n] += 1

count = 0
for n in num:
    if mark[n] == 1:
        count += 1

print(count)

Buggy python submission (verdict: Time Limit Exceeded):
#5
#24 11 8 3 16

N = int(input())
num = list(map(int, input().split()))
divz = [0]*N

num.sort()

count = 0
for i, n in enumerate(num):
    for k in range(i):
            if num[i] % num[k] == 0:
                divz[i] = 1
                break
    if divz[i] == 0 and (((i < N-1) and num[i] != num[i+1]) or (i == N-1)):
        count += 1

print(count)


Fixed submission:
import numpy as np

N = int(input())
MAXX = 10**6 + 5
num = np.array(input().split(), np.int32)[:]
mark = np.zeros(MAXX, np.int32)

num = np.sort(num)
for n in num:
    if mark[n] < 2:
        mark[n::n] += 1

count = 0
for n in num:
    if mark[n] == 1:
        count += 1

print(count)

Buggy python submission (verdict: Time Limit Exceeded):
#5
#24 11 8 3 16

N = int(input())
num = list(map(int, input().split()))
divz = [0]*N

for i, n in enumerate(num):
    for k in range(N):
        if k != i:
            if num[k] % num[i] == 0:
                divz[k] += 1

            if num[i] % num[k] == 0:
                divz[i] += 1

count = 0
for k in range(N):
    if divz[k] == 0:
        count += 1

print(count)


Fixed submission:
import numpy as np

N = int(input())
MAXX = 10**6 + 5
num = np.array(input().split(), np.int32)[:]
mark = np.zeros(MAXX, np.int32)

num = np.sort(num)
for n in num:
    if mark[n] < 2:
        mark[n::n] += 1

count = 0
for n in num:
    if mark[n] == 1:
        count += 1

print(count)