





def    __UpperCAmelCase(      lowercase_      ):
       _lowerCamelCase							:     list[list[int]]	=		[[0 for _ in range(lowercase_      )] for _ in range(m + 1      )]
       for i in range(m + 1      ):
              _lowerCamelCase							:     List[Any]	=		1

       for n in range(m + 1      ):
              for k in range(1 ,    lowercase_      ):
                     memo[n][k] += memo[n][k - 1]
                     if n - k > 0:
                            memo[n][k] += memo[n - k - 1][k]

       return memo[m][m - 1]


if __name__ == "__main__":
       import sys

       if len(sys.argv) == 1:
              try:
                     _lowerCamelCase			       =      int(input('Enter a number: ').strip())
                     print(partition(n))
              except ValueError:
                     print('Please enter a number.')
       else:
              try:
                     _lowerCamelCase			       =      int(sys.argv[1])
                     print(partition(n))
              except ValueError:
                     print('Please pass a number.')








import unittest

from knapsack import knapsack as k







class 			__A       (      unittest.TestCase  ):




      """simple docstring"""







      def 				__snake_case			(		self):



             """simple docstring"""





             _lowerCamelCase							:     Dict	=		0
             _lowerCamelCase							:     int	=		[0]
             _lowerCamelCase							:     Optional[int]	=		[0]
             _lowerCamelCase							:     Dict	=		len(a__)
             self.assertEqual(k.knapsack(a__      ,							a__      ,							a__      ,							a__)      ,							0)

             _lowerCamelCase							:     str	=		[60]
             _lowerCamelCase							:     List[str]	=		[10]
             _lowerCamelCase							:     List[Any]	=		len(a__)
             self.assertEqual(k.knapsack(a__      ,							a__      ,							a__      ,							a__)      ,							0)


      def 				__snake_case			(		self):



             """simple docstring"""





             _lowerCamelCase							:     Union[str, Any]	=		3
             _lowerCamelCase							:     List[Any]	=		[1, 2, 3]
             _lowerCamelCase							:     Dict	=		[3, 2, 1]
             _lowerCamelCase							:     Any	=		len(a__)
             self.assertEqual(k.knapsack(a__      ,							a__      ,							a__      ,							a__)      ,							5)



      def 				__snake_case			(		self):



             """simple docstring"""





             _lowerCamelCase							:     Optional[Any]	=		50
             _lowerCamelCase							:     Dict	=		[60, 100, 120]
             _lowerCamelCase							:     Dict	=		[10, 20, 30]
             _lowerCamelCase							:     Union[str, Any]	=		len(a__)
             self.assertEqual(k.knapsack(a__      ,							a__      ,							a__      ,							a__)      ,							220)


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

