def 			__SCREAMING_SNAKE_CASE						(      __UpperCamelCase					: list				,  __UpperCamelCase					: list				,  __UpperCamelCase					: int				,  __UpperCamelCase					: int				,  __UpperCamelCase					: int			)							->      int:







  """simple docstring"""





  if index == number_of_items:
    return 0
  SCREAMING_SNAKE_CASE__    							=   0
  SCREAMING_SNAKE_CASE__    							=   0
  SCREAMING_SNAKE_CASE__    							=   knapsack(__UpperCamelCase				,  __UpperCamelCase				,  __UpperCamelCase				,  __UpperCamelCase				,  index + 1			)
  if weights[index] <= max_weight:
    SCREAMING_SNAKE_CASE__    							=   values[index] + knapsack(
        __UpperCamelCase				,  __UpperCamelCase				,  __UpperCamelCase				,  max_weight - weights[index]				,  index + 1			)
  return max(__UpperCamelCase				,  __UpperCamelCase			)


if __name__ == "__main__":
   import doctest

   doctest.testmod()

def 			__SCREAMING_SNAKE_CASE						(      __UpperCamelCase					: int			)							->      int:







  """simple docstring"""





  SCREAMING_SNAKE_CASE__    							=   [1]

  SCREAMING_SNAKE_CASE__							,  SCREAMING_SNAKE_CASE__							,  SCREAMING_SNAKE_CASE__    							=   0, 0, 0
  SCREAMING_SNAKE_CASE__    							=   ugly_nums[ia] * 2
  SCREAMING_SNAKE_CASE__    							=   ugly_nums[ia] * 3
  SCREAMING_SNAKE_CASE__    							=   ugly_nums[ia] * 5

  for _ in range(1				,  __UpperCamelCase			):
    SCREAMING_SNAKE_CASE__    							=   min(__UpperCamelCase				,  __UpperCamelCase				,  __UpperCamelCase			)
    ugly_nums.append(__UpperCamelCase			)
    if next_num == next_a:
      ia += 1
      SCREAMING_SNAKE_CASE__    							=   ugly_nums[ia] * 2
    if next_num == next_a:
      ia += 1
      SCREAMING_SNAKE_CASE__    							=   ugly_nums[ia] * 3
    if next_num == next_a:
      ia += 1
      SCREAMING_SNAKE_CASE__    							=   ugly_nums[ia] * 5
  return ugly_nums[-1]


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

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