

'''simple docstring'''






import unittest

from knapsack import greedy_knapsack as kp






class 			lowercase_	(unittest.TestCase      ):




  """simple docstring"""




  def 					SCREAMING_SNAKE_CASE      (      self   :     Tuple			):
   __lowercase							  = [1_0, 2_0, 3_0, 4_0, 5_0, 6_0]
   __lowercase							  = [2, 4, 6, 8, 1_0, 1_2]
   __lowercase							  = 1_0_0
   self.assertEqual(kp.calc_profit(lowercase__					,lowercase__					,lowercase__			)					,2_1_0			)






  def 					SCREAMING_SNAKE_CASE      (      self   :     List[str]			):
   self.assertRaisesRegex(lowercase__					,'''max_weight must greater than zero.'''			)






  def 					SCREAMING_SNAKE_CASE      (      self   :     Any			):
   self.assertRaisesRegex(lowercase__					,'''Weight can not be negative.'''			)






  def 					SCREAMING_SNAKE_CASE      (      self   :     str			):
   self.assertRaisesRegex(lowercase__					,'''Profit can not be negative.'''			)






  def 					SCREAMING_SNAKE_CASE      (      self   :     Optional[int]			):
   self.assertRaisesRegex(lowercase__					,'''max_weight must greater than zero.'''			)






  def 					SCREAMING_SNAKE_CASE      (      self   :     List[Any]			):
   self.assertRaisesRegex(
       lowercase__					,'''The length of profit and weight must be same.'''			)


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





'''simple docstring'''


def        __lowerCAmelCase       (__lowerCAmelCase = 50      ):
		_UpperCAmelCase						:				Tuple	    =					[[0] * 3 for _ in range(length + 1      )]

		for row_length in range(length + 1      ):
				for tile_length in range(2					,       5      ):
						for tile_start in range(row_length - tile_length + 1      ):
								different_colour_ways_number[row_length][tile_length - 2] += (
								    different_colour_ways_number[row_length - tile_start - tile_length][
								        tile_length - 2
								    ]
								    + 1
								)

		return sum(different_colour_ways_number[length]      )


if __name__ == "__main__":
						print(F'''{solution() = }''')



