Buggy python submission (verdict: Time Limit Exceeded):
a=int(input())
li = list(map(int,input().split()))
c = 0
def make_divisors(n):
    divisors = []
    for i in range(1, int(n**0.5)+1):
        if n % i == 0:
            divisors.append(i)
            if i != n // i:
                divisors.append(n//i)
    return divisors

for i in range(a-1):
    if len(list(set(li))) != len(li):
        c = 1
        break
    for j in range(i+1,a):
        x = make_divisors(li[j]*li[i])
        if len(x) != len(set(x)):
            c = 1
            break
    if c == 1:
        break

if c > 0:
    print('NO')
else:
    print('YES')

Fixed submission:
a=int(input())
li = list(map(int,input().split()))
c = 0
if len(li) != len(set(li)):
    print('NO')
else:
    print('YES')

Buggy python submission (verdict: Time Limit Exceeded):
a=int(input())
li = list(map(int,input().split()))
c = 0
def make_divisors(n):
    divisors = []
    for i in range(1, int(n**0.5)+1):
        if n % i == 0:
            divisors.append(i)
            if i != n // i:
                divisors.append(n//i)
    return divisors

for i in range(a-1):
    if len(list(set(li))) != len(li):
        c = 1
        break
    for j in range(i+1,a):
        x = make_divisors(li[j]*li[i])
        if len(x) != len(set(x)):
            c = 1
            break

if c > 0:
    print('NO')
else:
    print('YES')

Fixed submission:
a=int(input())
li = list(map(int,input().split()))
c = 0
if len(li) != len(set(li)):
    print('NO')
else:
    print('YES')

Buggy python submission (verdict: Time Limit Exceeded):
a=int(input())
li = list(map(int,input().split()))
c = 0

def make_divisors(n):
    yakusuu_array= []
    for i in range(1,n):
        if n % i == 0:
            yakusuu_array.append(i)
    
    return yakusuu_array


for i in range(len(li)-1):
    if len(list(set(li))) != len(li):
        c = 1
        break
    for j in range(i+1,len(li)):
        x = make_divisors(li[i])
        y = make_divisors(li[j])
        z = x + y 
        if len(x)+len(y)-1 == len(z):
            c =1
            break

if c > 0:
    print('NO')
else:
    print('YES')

Fixed submission:
a=int(input())
li = list(map(int,input().split()))
c = 0
if len(li) != len(set(li)):
    print('NO')
else:
    print('YES')

Buggy python submission (verdict: Time Limit Exceeded):
a=int(input())
li = list(map(int,input().split()))
c = 0
def make_divisors(n):
    divisors = []
    for i in range(1, int(n**0.5)+1):
        if n % i == 0:
            divisors.append(i)
            if i != n // i:
                divisors.append(n//i)

    # divisors.sort()
    return divisors

for i in range(len(li)-1):
    if len(list(set(li))) != len(li):
        c = 1
        break
    for j in range(i+1,len(li)):
        x = make_divisors(li[i])
        y = make_divisors(li[j])
        z = x + y 
        if len(x)+len(y)-1 == len(z):
            c =1
            break

if c > 0:
    print('NO')
else:
    print('YES')

Fixed submission:
a=int(input())
li = list(map(int,input().split()))
c = 0
if len(li) != len(set(li)):
    print('NO')
else:
    print('YES')

Buggy python submission (verdict: Time Limit Exceeded):
a=int(input())
li = list(map(int,input().split()))
c = 0
def make_divisors(n):
    divisors = []
    for i in range(1, int(n**0.5)+1):
        if n % i == 0:
            divisors.append(i)
            if i != n // i:
                divisors.append(n//i)

    # divisors.sort()
    return divisors

for i in range(len(li)-1):
    if len(list(set(li))) != len(li):
        c = 1
        break
    for j in range(i+1,len(li)):
        x = make_divisors(li[i])
        y = make_divisors(li[j])
        z = x + y 
        if len(x)+len(y)-1 == len(z):
            c +=1

if c > 0:
    print('NO')
else:
    print('YES')

Fixed submission:
a=int(input())
li = list(map(int,input().split()))
c = 0
if len(li) != len(set(li)):
    print('NO')
else:
    print('YES')