



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




def     UpperCAmelCase__ (							__snake_case						,				__snake_case							)   -> list:
  _A           =    []  # type: list[int]
  _A           =    []  # type: list[int]
  backtrack(__snake_case						,				__snake_case						,				__snake_case						,				__snake_case						,				0							)
  return answer




def     UpperCAmelCase__ (							)   -> None:
  print(combination_sum([-8, 2.3, 0]						,				1							)							)


if __name__ == "__main__":
    import doctest

    doctest.testmod()
    main()




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




def     UpperCAmelCase__ (							__snake_case						,				__snake_case							)   -> list:
  _A           =    []  # type: list[int]
  _A           =    []  # type: list[int]
  backtrack(__snake_case						,				__snake_case						,				__snake_case						,				__snake_case						,				0							)
  return answer




def     UpperCAmelCase__ (							)   -> None:
  print(combination_sum([-8, 2.3, 0]						,				1							)							)


if __name__ == "__main__":
    import doctest

    doctest.testmod()
    main()