




def       snake_case      (							A		,     A		,     A		,     A		,     A    )							->							Optional[int]:




	'''simple docstring'''


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




def       snake_case      (							A		,     A    )							->							Optional[int]:




	'''simple docstring'''


	lowerCamelCase_							:	Union[str, Any]							     =							[]  # type: list[int]
	lowerCamelCase_							:	int							     =							[]  # type: list[int]
	backtrack(__A		,     __A		,     __A		,     __A		,     0    )
	return answer




def       snake_case      (							)							->							List[Any]:




	'''simple docstring'''


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


if __name__ == "__main__":
							import doctest

							doctest.testmod()
							main()






def       snake_case      (							A = 998001    )							->							int:




	'''simple docstring'''


	for number in range(n - 1		,     9999		,     -1    ):
		lowerCamelCase_							:	Tuple							     =							str(A    )

		# checks whether 'str_number' is a palindrome.
		if str_number == str_number[::-1]:
			lowerCamelCase_							:	Tuple							     =							999

			# if 'number' is a product of two 3-digit numbers
			# then number is the answer otherwise fetch next number.
			while divisor != 99:
				if (number % divisor == 0) and (len(str(number // divisor    )    ) == 3.0):
					return number
				divisor -= 1
	raise ValueError('That number is larger than our acceptable range.'    )


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