

'''simple docstring'''

from collections.abc import Callable




def 							_UpperCamelCase				(   lowerCAmelCase__:					Callable[[float], float]		,lowerCAmelCase__:					float		,lowerCAmelCase__:					float   )      -> float:
							SCREAMING_SNAKE_CASE_				=				a
							SCREAMING_SNAKE_CASE_				=				b
							if function(lowerCAmelCase__   ) == 0:  # one of the a or b is a root for the function
														return a
							elif function(lowerCAmelCase__   ) == 0:
														return b
							elif (
							    function(lowerCAmelCase__   ) * function(lowerCAmelCase__   ) > 0
							):  # if none of these are root and they are both positive or negative,
														# then this algorithm can't find the root
														raise ValueError('could not find root in given interval.'   )
							else:
														SCREAMING_SNAKE_CASE_				=				start + (end - start) / 2.0
														while abs(start - mid   ) > 10**-7:  # until precisely equals to 10^-7
																					if function(lowerCAmelCase__   ) == 0:
																												return mid
																					elif function(lowerCAmelCase__   ) * function(lowerCAmelCase__   ) < 0:
																												SCREAMING_SNAKE_CASE_				=				mid
																					else:
																												SCREAMING_SNAKE_CASE_				=				mid
																					SCREAMING_SNAKE_CASE_				=				start + (end - start) / 2.0
														return mid




def 							_UpperCamelCase				(   lowerCAmelCase__:					float   )      -> float:
							return x**3 - 2 * x - 5


if __name__ == "__main__":
							print(bisection(f, 1, 1000))

							import doctest

							doctest.testmod()








'''simple docstring'''

from math import factorial




def 							_UpperCamelCase				(   lowerCAmelCase__:					int = 100   )      -> int:
							return sum(map(lowerCAmelCase__		,str(factorial(lowerCAmelCase__   )   )   )   )


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





