






"""simple docstring"""






from __future__ import annotations

import math






def   snake_case__     (	__lowerCamelCase       :					Union[str, Any]			):
			"""simple docstring"""

			if num <= 0:
						lowerCamelCase__	:	Dict				=f'''{num}: Invalid input, please enter a positive integer.'''
						raise ValueError(SCREAMING_SNAKE_CASE_			)

			lowerCamelCase__	:	Optional[int]				=[True] * (num + 1)
			lowerCamelCase__	:	str				=[]
			lowerCamelCase__	:	Optional[Any]				=2
			lowerCamelCase__	:	List[str]				=int(math.sqrt(SCREAMING_SNAKE_CASE_			)			)

			while start <= end:
						# If start is a prime
						if sieve[start] is True:
									prime.append(SCREAMING_SNAKE_CASE_			)

									# Set multiples of start be False
									for i in range(start * start							,	num + 1							,	SCREAMING_SNAKE_CASE_			):
												if sieve[i] is True:
															lowerCamelCase__	:	Dict				=False

						start += 1

			for j in range(end + 1							,	num + 1			):
						if sieve[j] is True:
									prime.append(SCREAMING_SNAKE_CASE_			)

			return prime


if __name__ == "__main__":
		print(prime_sieve(int(input("Enter a positive integer: ").strip())))









"""simple docstring"""






def   snake_case__     (	__lowerCamelCase       :					list[int]			):
			"""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'''			)

			lowerCamelCase__	:	Any				=numbers[0]

			for i in range(1							,	len(__lowerCamelCase			)			):
						# update the maximum and minimum subarray products
						lowerCamelCase__	:	Dict				=numbers[i]
						if number < 0:
									lowerCamelCase__			,     lowerCamelCase__	:	List[Any]				=min_till_now, max_till_now
						lowerCamelCase__	:	Optional[int]				=max(__lowerCamelCase							,	max_till_now * number			)
						lowerCamelCase__	:	Dict				=min(__lowerCamelCase							,	min_till_now * number			)

						# update the maximum product found till now
						lowerCamelCase__	:	Tuple				=max(__lowerCamelCase							,	__lowerCamelCase			)

			return max_prod




