


"""simple docstring"""
from collections.abc import Callable
from math import pi, sqrt
from random import uniform
from statistics import mean







def 						_a				(      _SCREAMING_SNAKE_CASE				)    ->				int:

							# A local function to see if a dot lands in the circle.
							def is_in_circle(_SCREAMING_SNAKE_CASE				, _SCREAMING_SNAKE_CASE				) -> bool:
														snake_case_           =		sqrt((x**2) + (y**2)				)
														# Our circle has a radius of 1, so a distance
														# greater than 1 would land outside the circle.
														return distance_from_centre <= 1

							# The proportion of guesses that landed in the circle
							snake_case_           =		mean(
							    int(is_in_circle(uniform(-1.0				, 1.0				)				, uniform(-1.0				, 1.0				)				)				)
							    for _ in range(_SCREAMING_SNAKE_CASE				)				)
							# The ratio of the area for circle to square is pi/4.
							snake_case_           =		proportion * 4
							print(f"""The estimated value of pi is {pi_estimate}"""				)
							print(f"""The numpy value of pi is {pi}"""				)
							print(f"""The total error is {abs(pi - pi_estimate				)}"""				)







def 						_a				(      _SCREAMING_SNAKE_CASE				, _SCREAMING_SNAKE_CASE				, _SCREAMING_SNAKE_CASE = 0.0				, _SCREAMING_SNAKE_CASE = 1.0				, )    ->				float:
							return mean(
							    function_to_integrate(uniform(_SCREAMING_SNAKE_CASE				, _SCREAMING_SNAKE_CASE				)				) for _ in range(_SCREAMING_SNAKE_CASE				)				) * (max_value - min_value)







def 						_a				(      _SCREAMING_SNAKE_CASE				, _SCREAMING_SNAKE_CASE = 0.0				, _SCREAMING_SNAKE_CASE = 1.0				)    ->				None:

							def identity_function(_SCREAMING_SNAKE_CASE				) -> float:
														return x

							snake_case_           =		area_under_curve_estimator(
							    _SCREAMING_SNAKE_CASE				, _SCREAMING_SNAKE_CASE				, _SCREAMING_SNAKE_CASE				, _SCREAMING_SNAKE_CASE				)
							snake_case_           =		(max_value * max_value - min_value * min_value) / 2

							print("""******************"""				)
							print(f"""Estimating area under y=x where x varies from {min_value} to {max_value}"""				)
							print(f"""Estimated value is {estimated_value}"""				)
							print(f"""Expected value is {expected_value}"""				)
							print(f"""Total error is {abs(estimated_value - expected_value				)}"""				)
							print("""******************"""				)







def 						_a				(      _SCREAMING_SNAKE_CASE				)    ->				None:

							def function_to_integrate(_SCREAMING_SNAKE_CASE				) -> float:
														return sqrt(4.0 - x * x				)

							snake_case_           =		area_under_curve_estimator(
							    _SCREAMING_SNAKE_CASE				, _SCREAMING_SNAKE_CASE				, 0.0				, 2.0				)

							print("""******************"""				)
							print("""Estimating pi using area_under_curve_estimator"""				)
							print(f"""Estimated value is {estimated_value}"""				)
							print(f"""Expected value is {pi}"""				)
							print(f"""Total error is {abs(estimated_value - pi				)}"""				)
							print("""******************"""				)


if __name__ == "__main__":
				import doctest

				doctest.testmod()







"""simple docstring"""
from math import factorial







def 						_a				(      _SCREAMING_SNAKE_CASE = 100				)    ->				int:
							return sum(int(_SCREAMING_SNAKE_CASE				) for x in str(factorial(_SCREAMING_SNAKE_CASE				)				)				)


if __name__ == "__main__":
				print(solution(int(input('Enter the Number: ').strip())))



