
__a         =   'Tobias Carryer'

from time import time
class 					lowercase__:



	"""simple docstring"""




	def __init__(			self    :     str			,				SCREAMING_SNAKE_CASE_    :     List[str]			,				SCREAMING_SNAKE_CASE_    :     Tuple			,				SCREAMING_SNAKE_CASE_    :     Union[str, Any]			,				SCREAMING_SNAKE_CASE_    :     List[Any]=int(time()			)			)			->	Tuple:  # noqa: B008
					lowercase_	    =   multiplier
					lowercase_	    =   increment
					lowercase_	    =   modulo
					lowercase_	    =   seed




	def 		_lowercase    (			self    :     Dict			)			->	Optional[int]:
					lowercase_	    =   (self.multiplier * self.seed + self.increment) % self.modulo
					return self.seed


if __name__ == "__main__":
						# Show the LCG in action.
						__a         =   LinearCongruentialGenerator(1_6_6_4_5_2_5, 1_0_1_3_9_0_4_2_2_3, 2 << 3_1)
						while True:
												print(lcg.next_number())






import unittest

from knapsack import knapsack as k
class 					lowercase__(							unittest.TestCase				):



	"""simple docstring"""




	def 		_lowercase    (			self    :     Optional[int]			)			->	str:
					lowercase_	    =   0
					lowercase_	    =   [0]
					lowercase_	    =   [0]
					lowercase_	    =   len(SCREAMING_SNAKE_CASE_			)
					self.assertEqual(k.knapsack(SCREAMING_SNAKE_CASE_			,				SCREAMING_SNAKE_CASE_			,				SCREAMING_SNAKE_CASE_			,				SCREAMING_SNAKE_CASE_			)			,				0			)

					lowercase_	    =   [6_0]
					lowercase_	    =   [1_0]
					lowercase_	    =   len(SCREAMING_SNAKE_CASE_			)
					self.assertEqual(k.knapsack(SCREAMING_SNAKE_CASE_			,				SCREAMING_SNAKE_CASE_			,				SCREAMING_SNAKE_CASE_			,				SCREAMING_SNAKE_CASE_			)			,				0			)
	def 		_lowercase    (			self    :     int			)			->	str:
					lowercase_	    =   3
					lowercase_	    =   [1, 2, 3]
					lowercase_	    =   [3, 2, 1]
					lowercase_	    =   len(SCREAMING_SNAKE_CASE_			)
					self.assertEqual(k.knapsack(SCREAMING_SNAKE_CASE_			,				SCREAMING_SNAKE_CASE_			,				SCREAMING_SNAKE_CASE_			,				SCREAMING_SNAKE_CASE_			)			,				5			)




	def 		_lowercase    (			self    :     str			)			->	Tuple:
					lowercase_	    =   5_0
					lowercase_	    =   [6_0, 1_0_0, 1_2_0]
					lowercase_	    =   [1_0, 2_0, 3_0]
					lowercase_	    =   len(SCREAMING_SNAKE_CASE_			)
					self.assertEqual(k.knapsack(SCREAMING_SNAKE_CASE_			,				SCREAMING_SNAKE_CASE_			,				SCREAMING_SNAKE_CASE_			,				SCREAMING_SNAKE_CASE_			)			,				2_2_0			)


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




