



from collections.abc import Callable

__SCREAMING_SNAKE_CASE     =	Callable[[float], float]  # type alias for a real -> real function




def 						UpperCAmelCase (    _lowerCamelCase			,     _lowerCamelCase			,     _lowerCamelCase			,     ):
			A				:       int														=    float(_lowerCamelCase     )
			while True:
						try:
									A				:       Optional[int]														=    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
						A				:       Any														=    next_guess




def 						UpperCAmelCase (    _lowerCamelCase     ):
			return (x**3) - (2 * x) - 5




def 						UpperCAmelCase (    _lowerCamelCase     ):
			return 3 * (x**2) - 2


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




def 						UpperCAmelCase (    _lowerCamelCase     ):
			return "".join(chr(ord(_lowerCamelCase     ) + 32     ) if "A" <= char <= "Z" else char for char in word     )


if __name__ == "__main__":
							from doctest import testmod

							testmod()