
def     UpperCamelCase      (					__lowerCamelCase  :				list       ,      __lowerCamelCase  :				list       ,      __lowerCamelCase  :				list       ,      __lowerCamelCase  :				int       ,      __lowerCamelCase  :				int					):
       if target == 0:
              answer.append(path.copy()					)
       else:
              for index in range(__lowerCamelCase       ,      len(__lowerCamelCase					)					):
                     if target >= candidates[index]:
                            path.append(candidates[index]					)
                            backtrack(__lowerCamelCase       ,      __lowerCamelCase       ,      __lowerCamelCase       ,      target - candidates[index]       ,      __lowerCamelCase					)
                            path.pop(len(__lowerCamelCase					) - 1					)


def     UpperCamelCase      (					__lowerCamelCase  :				list       ,      __lowerCamelCase  :				int					):
       snake_case :     Optional[Any]           =   []  # type: list[int]
       snake_case :     Tuple           =   []  # type: list[int]
       backtrack(__lowerCamelCase       ,      __lowerCamelCase       ,      __lowerCamelCase       ,      __lowerCamelCase       ,      0					)
       return answer


def     UpperCamelCase      (					):
       print(combination_sum([-8, 2.3, 0]       ,      1					)					)


if __name__ == "__main__":
   import doctest

   doctest.testmod()
   main()







def     UpperCamelCase      (					__lowerCamelCase  :				int = 998001					):
       snake_case :     Optional[Any]           =   0
       for i in range(999       ,      99       ,      -1					):  # 3 digit numbers range from 999 down to 100
              for j in range(999       ,      99       ,      -1					):
                     snake_case :     Tuple           =   str(i * j					)
                     if product_string == product_string[::-1] and i * j < n:
                            snake_case :     str           =   max(__lowerCamelCase       ,      i * j					)
       return answer


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





