






"""simple docstring"""
import unittest

from knapsack import greedy_knapsack as kp







class     UpperCamelCase_ (unittest.TestCase  ):





 def   _SCREAMING_SNAKE_CASE   (   self      :				Any		)		->    List[str]:
    UpperCAmelCase_  :				str      =      [10, 20, 30, 40, 50, 60]
    UpperCAmelCase_  :				List[str]      =      [2, 4, 6, 8, 10, 12]
    UpperCAmelCase_  :				int      =      100
    self.assertEqual(kp.calc_profit(lowerCAmelCase_			,			lowerCAmelCase_			,			lowerCAmelCase_		)			,			210		)





 def   _SCREAMING_SNAKE_CASE   (   self      :				Union[str, Any]		)		->    int:
    self.assertRaisesRegex(lowerCAmelCase_			,			"max_weight must greater than zero."		)





 def   _SCREAMING_SNAKE_CASE   (   self      :				Optional[int]		)		->    Optional[int]:
    self.assertRaisesRegex(lowerCAmelCase_			,			"Weight can not be negative."		)





 def   _SCREAMING_SNAKE_CASE   (   self      :				str		)		->    List[Any]:
    self.assertRaisesRegex(lowerCAmelCase_			,			"Profit can not be negative."		)





 def   _SCREAMING_SNAKE_CASE   (   self      :				Union[str, Any]		)		->    Union[str, Any]:
    self.assertRaisesRegex(lowerCAmelCase_			,			"max_weight must greater than zero."		)





 def   _SCREAMING_SNAKE_CASE   (   self      :				Optional[int]		)		->    int:
    self.assertRaisesRegex(
        lowerCAmelCase_			,			"The length of profit and weight must be same."		)


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











"""simple docstring"""
from itertools import count

def        snake_case   (     A__ = 50		):
			UpperCAmelCase_  :				Any      =      [1] * min_block_length

			for n in count(A__		):
						fill_count_functions.append(1		)

						for block_length in range(A__			,n + 1		):
									for block_start in range(n - block_length		):
												fill_count_functions[n] += fill_count_functions[
												    n - block_start - block_length - 1
												]

									fill_count_functions[n] += 1

						if fill_count_functions[n] > 1_00_00_00:
									break

			return n


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



