import strutils, strformat
n = parseInt(readLine(stdin)) # ?????????
numbers: seq[Natural] = @[] # ??????????
primes: seq[Natural] = @[] # ???
for i in 2..n:
numbers.add(i) # ???
while len(numbers) > 0:
var
p = numbers[0] # ?????
newNumbers: seq[Natural] = @[]
if p * p > n:
break # ???????????????????????????????????????
#??????????????????numbers??????????
primes.add(p) # ?????????????????????????????
if
newNumbers.add(v) # ???
# ???????????????????????????????????????
numbers = newNumbers
echo &"numbers left: {numbers[0..min(10, high(numbers))]}... after sieved by {p}"
primes &= numbers # ????????????????
echo "---Result---"
echo primes