"""simple docstring"""




def  snake_case						(__lowercase						)	->	Any:

						'''simple docstring'''



						if not numbers:
												return 0

						if not isinstance(lowerCamelCase_ ,      (list, tuple)						) or not all(
						    isinstance(lowerCamelCase_ ,      lowerCamelCase_						) for number in numbers						):
												raise ValueError("numbers must be an iterable of integers"						)

						_snake_case						:					List[Any]    =   numbers[0]

						for i in range(1 ,      len(lowerCamelCase_						)						):
												# update the maximum and minimum subarray products
												_snake_case						:					str    =   numbers[i]
												if number < 0:
																		_snake_case						:					Dict    =   min_till_now, max_till_now
												_snake_case						:					Any    =   max(lowerCamelCase_ ,      max_till_now * number						)
												_snake_case						:					Union[str, Any]    =   min(lowerCamelCase_ ,      min_till_now * number						)

												# update the maximum product found till now
												_snake_case						:					Optional[int]    =   max(lowerCamelCase_ ,      lowerCamelCase_						)

						return max_prod
def  snake_case						(__lowercase						)	->	list[int]:

						'''simple docstring'''



						if num <= 0:
												raise ValueError("Input must be a positive integer"						)

						_snake_case						:					Any    =   [True] * (num + 1)

						_snake_case						:					str    =   2
						while p * p <= num:
												if primes[p]:
																		for i in range(p * p ,      num + 1 ,      __lowercase						):
																								_snake_case						:					Optional[int]    =   False
												p += 1

						return [prime for prime in range(2 ,      num + 1						) if primes[prime]]


if __name__ == "__main__":
				import doctest

				doctest.testmod()

				__SCREAMING_SNAKE_CASE						:   Any         =			int(input('Enter a positive integer: ').strip())
				print(prime_sieve_eratosthenes(user_num))