

'''simple docstring'''







import unittest

from knapsack import knapsack as k


class 					A__      (      unittest.TestCase			):



    def 					snake_case_			(					self       )						->      Any:





           '''simple docstring'''
           A_						=      0
           A_						=      [0]
           A_						=      [0]
           A_						=      len(UpperCamelCase__       )
           self.assertEqual(k.knapsack(UpperCamelCase__		,				UpperCamelCase__		,				UpperCamelCase__		,				UpperCamelCase__       )		,				0       )

           A_						=      [60]
           A_						=      [10]
           A_						=      len(UpperCamelCase__       )
           self.assertEqual(k.knapsack(UpperCamelCase__		,				UpperCamelCase__		,				UpperCamelCase__		,				UpperCamelCase__       )		,				0       )



    def 					snake_case_			(					self       )						->      Optional[int]:





           '''simple docstring'''
           A_						=      3
           A_						=      [1, 2, 3]
           A_						=      [3, 2, 1]
           A_						=      len(UpperCamelCase__       )
           self.assertEqual(k.knapsack(UpperCamelCase__		,				UpperCamelCase__		,				UpperCamelCase__		,				UpperCamelCase__       )		,				5       )







    def 					snake_case_			(					self       )						->      Dict:





           '''simple docstring'''
           A_						=      50
           A_						=      [60, 100, 120]
           A_						=      [10, 20, 30]
           A_						=      len(UpperCamelCase__       )
           self.assertEqual(k.knapsack(UpperCamelCase__		,				UpperCamelCase__		,				UpperCamelCase__		,				UpperCamelCase__       )		,				220       )


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



'''simple docstring'''







def       UpperCAmelCase__    (      UpperCAmelCase__				)			->			int:
       assert (
           isinstance(UpperCAmelCase__,       UpperCAmelCase__				) and number_of_steps > 0
       ), F'''number_of_steps needs to be positive integer, your input {number_of_steps}'''
       if number_of_steps == 1:
              return 1
       A_					,			A_						=      1, 1
       for _ in range(number_of_steps - 1				):
              A_					,			A_						=      current + previous, current
       return current


if __name__ == "__main__":
      import doctest

      doctest.testmod()
