#########################################
#
# Sieve of Eratosthenes 
# 
# Paul Soper
# 
# May 1, 2016
#
#########################################

import math

def sieveupto(q):
    sieve = list(range(0,q+1))
    
    sieve[0] = 0
    sieve[1] = 0
       
    slim = int(math.sqrt(q))
    
    t = 2
    
    while t <= slim:
        if sieve[t] != 0:
            mult = 2
            while t*mult <= q:
                sieve[t*mult] = 0
                mult = mult + 1
        t = t + 1
    
    primes = list(set(sieve))
    primes.remove(0)
    return sorted(primes)
    
primes = sieveupto(1000)

print(primes)