



import math



def  _lowerCAmelCase     (_lowerCAmelCase):
					UpperCamelCase_			= 0
					if n % 2 == 0:
										count += 1
										while n % 2 == 0:
															UpperCamelCase_			= int(n / 2)
    # the n input value must be odd so that
    # we can skip one element (ie i += 2)

					UpperCamelCase_			= 3

					while i <= int(math.sqrt(_lowerCAmelCase)):
										if n % i == 0:
															count += 1
															while n % i == 0:
																				UpperCamelCase_			= int(n / i)
										UpperCamelCase_			= i + 2

					# this condition checks the prime
					# number n is greater than 2

					if n > 2:
										count += 1
					return count


if __name__ == "__main__":
	UpperCAmelCase :				List[Any]							=5124_2183
	print(F"The number of distinct prime factors is/are {exact_prime_factor_count(n)}")
	print(F"The value of log(log(n)) is {math.log(math.log(n)):.4f}")

"""simple docstring"""




from collections.abc import Callable

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



def 				__a       (			_lowercase							, _lowercase							, _lowercase							, ):







					"""simple docstring"""





					lowerCamelCase__		:   Tuple  				=					float(_lowercase						)
					while True:
										try:
															lowerCamelCase__		:   str  				=					prev_guess - function(_lowercase						) / derivative(_lowercase						)
										except ZeroDivisionError:
															raise ZeroDivisionError('''Could not find root'''						) from None
										if abs(prev_guess - next_guess						) < 10**-5:
															return next_guess
										lowerCamelCase__		:   List[str]  				=					next_guess



def 				__a       (			_lowercase						):







					"""simple docstring"""





					return (x**3) - (2 * x) - 5



def 				__a       (			_lowercase						):







					"""simple docstring"""





					return 3 * (x**2) - 2


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






