

def  UpperCAmelCase_   (_lowerCAmelCase :		int = 99_80_01		):

			# fetches the next number
			for number in range(n - 1     ,			99_99     ,			-1		):
						__UpperCamelCase    :    Tuple								=      str(_lowerCAmelCase		)

						# checks whether 'str_number' is a palindrome.
						if str_number == str_number[::-1]:
									__UpperCamelCase    :    Union[str, Any]								=      9_99

									# 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() = }""")


from collections.abc import Callable

lowercase     :       Optional[Any]        =       Callable[[float], float]  # type alias for a real -> real function







def  UpperCAmelCase_   (_lowerCAmelCase :		RealFunc     ,			_lowerCAmelCase :		RealFunc     ,			_lowerCAmelCase :		int     ,			):
			__UpperCamelCase    :    Any								=      float(_lowerCAmelCase		)
			while True:
						try:
									__UpperCamelCase    :    List[Any]								=      prev_guess - function(_lowerCAmelCase		) / derivative(_lowerCAmelCase		)
						except ZeroDivisionError:
									raise ZeroDivisionError("Could not find root"		) from None
						if abs(prev_guess - next_guess		) < 10**-5:
									return next_guess
						__UpperCamelCase    :    Tuple								=      next_guess







def  UpperCAmelCase_   (_lowerCAmelCase :		float		):
			return (x**3) - (2 * x) - 5







def  UpperCAmelCase_   (_lowerCAmelCase :		float		):
			return 3 * (x**2) - 2


if __name__ == "__main__":
					print(newton(f, fa, 3))