




"""simple docstring"""






from math import factorial, radians







def   _snake_case    (       lowercase__							,					lowercase__ = 18							,					lowercase__ = 10	):
    _lowerCamelCase  :    List[str]					=					angle_in_degrees - ((angle_in_degrees // 360.0) * 360.0)

    # Converting from degrees to radians
    _lowerCamelCase  :    List[str]					=					radians(lowercase__	)

    _lowerCamelCase  :    Optional[Any]					=					angle_in_radians
    _lowerCamelCase  :    Tuple					=					3
    _lowerCamelCase  :    Union[str, Any]					=					-1

    for _ in range(lowercase__	):
        result += (b * (angle_in_radians**a)) / factorial(lowercase__	)

        _lowerCamelCase  :    List[Any]					=					-b  # One positive term and the next will be negative and so on...
        a += 2  # Increased by 2 for every term.

    return round(lowercase__							,					lowercase__	)


if __name__ == "__main__":
   __import__("""doctest""").testmod()





"""simple docstring"""






def   _snake_case    (       lowercase__	):
				_lowerCamelCase  :    List[str]					=					abs(lowercase__	)
				_lowerCamelCase  :    Optional[int]					=					0
				while n > 0:
								res += n % 10
								n //= 10
				return res







def   _snake_case    (       lowercase__	):
				_lowerCamelCase  :    List[str]					=					abs(lowercase__	)
				return n if n < 10 else n % 10 + sum_of_digits(n // 10	)







def   _snake_case    (       lowercase__	):
				return sum(int(lowercase__	) for c in str(abs(lowercase__	)	)	)







def   _snake_case    (       ):
				from collections.abc import Callable
				from timeit import timeit

				def benchmark_a_function(lowercase__							,					lowercase__	) -> None:
								_lowerCamelCase  :    int					=					f'''{func.__name__}({value})'''
								_lowerCamelCase  :    Optional[Any]					=					timeit(f'''__main__.{call}'''							,					setup='import __main__'	)
								print(f'''{call:56} = {func(lowercase__	)} -- {timing:.4f} seconds'''	)

				for value in (262144, 1125899906842624, 1267650600228229401496703205376):
								for func in (sum_of_digits, sum_of_digits_recursion, sum_of_digits_compact):
												benchmark_a_function(lowercase__							,					lowercase__	)
								print()


if __name__ == "__main__":
			import doctest

			doctest.testmod()
			benchmark()