



import unittest

from knapsack import knapsack as k







class 				_a				(   unittest.TestCase					):

			def      __snake_case       (self					)       ->   List[Any]:
						UpperCAmelCase_:		Any							      =     0
						UpperCAmelCase_:		str							      =     [0]
						UpperCAmelCase_:		int							      =     [0]
						UpperCAmelCase_:		str							      =     len(SCREAMING_SNAKE_CASE_					)
						self.assertEqual(k.knapsack(SCREAMING_SNAKE_CASE_,   SCREAMING_SNAKE_CASE_,   SCREAMING_SNAKE_CASE_,   SCREAMING_SNAKE_CASE_					),   0					)

						UpperCAmelCase_:		Optional[int]							      =     [60]
						UpperCAmelCase_:		Optional[int]							      =     [10]
						UpperCAmelCase_:		Optional[Any]							      =     len(SCREAMING_SNAKE_CASE_					)
						self.assertEqual(k.knapsack(SCREAMING_SNAKE_CASE_,   SCREAMING_SNAKE_CASE_,   SCREAMING_SNAKE_CASE_,   SCREAMING_SNAKE_CASE_					),   0					)

			def      __snake_case       (self					)       ->   Optional[int]:
						UpperCAmelCase_:		Tuple							      =     3
						UpperCAmelCase_:		Dict							      =     [1, 2, 3]
						UpperCAmelCase_:		int							      =     [3, 2, 1]
						UpperCAmelCase_:		Optional[int]							      =     len(SCREAMING_SNAKE_CASE_					)
						self.assertEqual(k.knapsack(SCREAMING_SNAKE_CASE_,   SCREAMING_SNAKE_CASE_,   SCREAMING_SNAKE_CASE_,   SCREAMING_SNAKE_CASE_					),   5					)

			def      __snake_case       (self					)       ->   Union[str, Any]:
						UpperCAmelCase_:		Union[str, Any]							      =     50
						UpperCAmelCase_:		Union[str, Any]							      =     [60, 100, 120]
						UpperCAmelCase_:		Optional[Any]							      =     [10, 20, 30]
						UpperCAmelCase_:		int							      =     len(SCREAMING_SNAKE_CASE_					)
						self.assertEqual(k.knapsack(SCREAMING_SNAKE_CASE_,   SCREAMING_SNAKE_CASE_,   SCREAMING_SNAKE_CASE_,   SCREAMING_SNAKE_CASE_					),   220					)


if __name__ == "__main__":
	unittest.main()











def  lowerCAmelCase_	(lowerCAmelCase__:		int  ):





			"""simple docstring"""


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

			UpperCAmelCase_:		Tuple							      =     [True] * (num + 1)

			UpperCAmelCase_:		Tuple							      =     2
			while p * p <= num:
						if primes[p]:
									for i in range(p * p		,						num + 1		,						lowerCAmelCase__  ):
												UpperCAmelCase_:		Optional[Any]							      =     False
						p += 1

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


if __name__ == "__main__":
	import doctest

	doctest.testmod()

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






