



'''simple docstring'''

def 		_snake_case		(					_SCREAMING_SNAKE_CASE     :						list							,		_SCREAMING_SNAKE_CASE     :						list							,		_SCREAMING_SNAKE_CASE     :						list							,		_SCREAMING_SNAKE_CASE     :						int							,		_SCREAMING_SNAKE_CASE     :						int							)			->						None:







	"""simple docstring"""
	if target == 0:
		answer.append(path.copy()							)
	else:
		for index in range(_SCREAMING_SNAKE_CASE							,		len(_SCREAMING_SNAKE_CASE							)							):
			if target >= candidates[index]:
				path.append(candidates[index]							)
				backtrack(_SCREAMING_SNAKE_CASE							,		_SCREAMING_SNAKE_CASE							,		_SCREAMING_SNAKE_CASE							,		target - candidates[index]							,		_SCREAMING_SNAKE_CASE							)
				path.pop(len(_SCREAMING_SNAKE_CASE							) - 1							)






def 		_snake_case		(					_SCREAMING_SNAKE_CASE     :						list							,		_SCREAMING_SNAKE_CASE     :						int							)			->						list:







	"""simple docstring"""
	lowerCAmelCase    =	[]  # type: list[int]
	lowerCAmelCase    =	[]  # type: list[int]
	backtrack(_SCREAMING_SNAKE_CASE							,		_SCREAMING_SNAKE_CASE							,		_SCREAMING_SNAKE_CASE							,		_SCREAMING_SNAKE_CASE							,		0							)
	return answer






def 		_snake_case		(					)			->						None:







	"""simple docstring"""
	print(combination_sum([-8, 2.3, 0]							,		1							)							)


if __name__ == "__main__":
				import doctest

				doctest.testmod()
				main()




'''simple docstring'''

from __future__ import annotations






def 		_snake_case		(					_SCREAMING_SNAKE_CASE     :						list[int]							,		_SCREAMING_SNAKE_CASE     :						int							)			->						list[int]:







	"""simple docstring"""
	lowerCAmelCase    =	{}
	for index, val in enumerate(_SCREAMING_SNAKE_CASE							):
		lowerCAmelCase    =	target - val
		if compl in chk_map:
			return [chk_map[compl], index]
		lowerCAmelCase    =	index
	return []


if __name__ == "__main__":
				import doctest

				doctest.testmod()
				print(F'''{two_sum([2, 7, 11, 15], 9) = }''')