



'''simple docstring'''




import unittest

from knapsack import knapsack as k







class      _lowerCAmelCase							(      unittest.TestCase			):


	def    _a     (self							):
				A_     :						Dict     =					0
				A_     :						List[str]     =					[0]
				A_     :						str     =					[0]
				A_     :						Tuple     =					len(lowercase							)
				self.assertEqual(k.knapsack(lowercase	,				lowercase	,				lowercase	,				lowercase							)	,				0							)

				A_     :						Dict     =					[60]
				A_     :						Tuple     =					[10]
				A_     :						Dict     =					len(lowercase							)
				self.assertEqual(k.knapsack(lowercase	,				lowercase	,				lowercase	,				lowercase							)	,				0							)


	def    _a     (self							):
				A_     :						Tuple     =					3
				A_     :						Optional[Any]     =					[1, 2, 3]
				A_     :						Dict     =					[3, 2, 1]
				A_     :						Optional[int]     =					len(lowercase							)
				self.assertEqual(k.knapsack(lowercase	,				lowercase	,				lowercase	,				lowercase							)	,				5							)


	def    _a     (self							):
				A_     :						Optional[int]     =					50
				A_     :						str     =					[60, 100, 120]
				A_     :						Tuple     =					[10, 20, 30]
				A_     :						List[Any]     =					len(lowercase							)
				self.assertEqual(k.knapsack(lowercase	,				lowercase	,				lowercase	,				lowercase							)	,				220							)


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




'''simple docstring'''




from maths.is_square_free import is_square_free
from maths.prime_factors import prime_factors



def      a      (			lowerCamelCase__   ):
			'''simple docstring'''





			A_     :						List[Any]     =					prime_factors(lowerCamelCase__   )
			if is_square_free(lowerCamelCase__   ):
						return -1 if len(lowerCamelCase__   ) % 2 else 1
			return 0


if __name__ == "__main__":
						import doctest

						doctest.testmod()