def linear_sieve(n):
composite = [False] * (n + 1)
primes = []
for i in range(2, n + 1):
if not composite[i]:
primes.append(i)
for p in primes:
if i * p > n:
break
composite[i * p] = True
if _______________:
break
return primes