Em có cái source code này nộp lên VNOJ nhưng bị ValueError, bác nào review giúp em với ạ
import math
def primeFactors(n):
a = []
for i in range(2,n+1):
while n%i == 0:
a.append(i)
n = n//i
return a
def SieveOfEratosthenes(n):
prime = [True for i in range(n+1)]
p = 2
ans = []
while (p * p <= n):
if (prime[p] == True):
for i in range(p * p, n + 1, p):
prime[i] = False
p += 1
for p in range(2, n+1):
if prime[p]:
ans.append(p)
return ans
def process(m,n):
if m == n:
res = 0
elif m == 1:
res = len(primeFactors(n))
elif n == 1:
res = len(primeFactors(m))
else:
a = primeFactors(m)
b = primeFactors(n)
sieve = SieveOfEratosthenes(max(m,n))
res = 0
i = 0
while sieve[i] <= max(max(a),max(b)):
res = res + abs(a.count(sieve[i]) - b.count(sieve[i]))
i = i + 1
return res
n = int(input())
a = list(map(int,input().split(" ")))
print(process(max(a),min(a)))