





def    __UpperCAmelCase(      lowercase_      ):
       _lowerCamelCase							:     Union[str, Any]	=		[1]

       _lowerCamelCase,  _lowerCamelCase,  _lowerCamelCase							:     List[str]	=		0, 0, 0
       _lowerCamelCase							:     Optional[int]	=		ugly_nums[ia] * 2
       _lowerCamelCase							:     int	=		ugly_nums[ia] * 3
       _lowerCamelCase							:     List[str]	=		ugly_nums[ia] * 5

       for _ in range(1 ,    lowercase_      ):
              _lowerCamelCase							:     Any	=		min(lowercase_ ,    lowercase_ ,    lowercase_      )
              ugly_nums.append(lowercase_      )
              if next_num == next_a:
                     ia += 1
                     _lowerCamelCase							:     int	=		ugly_nums[ia] * 2
              if next_num == next_a:
                     ia += 1
                     _lowerCamelCase							:     Optional[Any]	=		ugly_nums[ia] * 3
              if next_num == next_a:
                     ia += 1
                     _lowerCamelCase							:     Any	=		ugly_nums[ia] * 5
       return ugly_nums[-1]


if __name__ == "__main__":
       from doctest import testmod

       testmod(verbose=True)
       print(F'''{ugly_numbers(200) = }''')








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()

