
'''simple docstring'''





def      A (       A_							:					list[int]    ,							A_							:					int       ):
						snake_case       :     Dict =    len(A_       )
						snake_case       :     str =    [[False] * (required_sum + 1) for _ in range(arr_len + 1       )]

						# for each arr value, a sum of zero(0) can be formed by not taking any element
						# hence True/1
						for i in range(arr_len + 1       ):
												snake_case       :     Union[str, Any] =    True

						# sum is not zero and set is empty then false
						for i in range(1    ,							required_sum + 1       ):
												snake_case       :     int =    False

						for i in range(1    ,							arr_len + 1       ):
												for j in range(1    ,							required_sum + 1       ):
																		if arr[i - 1] > j:
																								snake_case       :     Union[str, Any] =    subset[i - 1][j]
																		if arr[i - 1] <= j:
																								snake_case       :     Tuple =    subset[i - 1][j] or subset[i - 1][j - arr[i - 1]]

						return subset[arr_len][required_sum]


if __name__ == "__main__":
						import doctest

						doctest.testmod()



'''simple docstring'''





from __future__ import annotations

import math

def      A (       A_							:					int       ):

						if num <= 0:
												snake_case       :     List[Any] =    F"""{num}: Invalid input, please enter a positive integer."""
												raise ValueError(A_       )

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

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

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

												start += 1

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

						return prime


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

