


"""simple docstring"""







import math






def 					a__ (       _UpperCamelCase ):





						"""simple docstring"""

						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(_UpperCamelCase ) ):
												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__":
						__a			 =   51_24_21_83
						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 __future__ import annotations

from collections.abc import Callable






def 					a__ (       _UpperCamelCase	,			_UpperCamelCase	,			_UpperCamelCase	,			_UpperCamelCase = 100	,			):





						"""simple docstring"""

						UpperCAmelCase__		=    x_start
						UpperCAmelCase__		=    fnc(_UpperCamelCase )
						UpperCAmelCase__		=    0.0

						for _ in range(_UpperCamelCase ):
												# Approximates small segments of curve as linear and solve
												# for trapezoidal area
												UpperCAmelCase__		=    (x_end - x_start) / steps + xa
												UpperCAmelCase__		=    fnc(_UpperCamelCase )
												area += abs(fxa + fxa ) * (xa - xa) / 2

												# Increment step
												UpperCAmelCase__		=    xa
												UpperCAmelCase__		=    fxa
						return area


if __name__ == "__main__":






						def 					a__ (       _UpperCamelCase ):





												"""simple docstring"""

												return x**3

						print("f(x) = x^3")
						print("The area between the curve, x = -10, x = 10 and the x axis is:")
						__a			 =   10
						while i <= 10_00_00:
												__a			 =   trapezoidal_area(f, -5, 5, i)
												print(f'''with {i} steps: {area}''')
												i *= 10