






"""simple docstring"""

import math






def _lowerCAmelCase	(  __lowerCamelCase:int   ):

						'''simple docstring'''






						__magic_name__            =     []
						__magic_name__            =     2
						__magic_name__            =     int(math.sqrt(__lowerCamelCase   )   )  # Size of every segment
						__magic_name__            =     [True] * (end + 1)
						__magic_name__            =     []

						while start <= end:
												if temp[start] is True:
																		in_prime.append(__lowerCamelCase   )
																		for i in range(start * start ,						end + 1 ,						__lowerCamelCase   ):
																								__magic_name__            =     False
												start += 1
						prime += in_prime

						__magic_name__            =     end + 1
						__magic_name__            =     min(2 * end ,						__lowerCamelCase   )

						while low <= n:
												__magic_name__            =     [True] * (high - low + 1)
												for each in in_prime:
																		__magic_name__            =     math.floor(low / each   ) * each
																		if t < low:
																								t += each

																		for j in range(__lowerCamelCase ,						high + 1 ,						__lowerCamelCase   ):
																								__magic_name__            =     False

												for j in range(len(__lowerCamelCase   )   ):
																		if temp[j] is True:
																								prime.append(j + low   )

												__magic_name__            =     high + 1
												__magic_name__            =     min(high + end ,						__lowerCamelCase   )

						return prime


print(sieve(10**6))











"""simple docstring"""

def _lowerCAmelCase	(  __lowerCamelCase:int   ):

						'''simple docstring'''






						if number < 0:
												raise ValueError("number must not be negative"   )
						return number & (number - 1) == 0


if __name__ == "__main__":
			import doctest

			doctest.testmod()



