






def   lowerCamelCase__			(     lowercase				):

		"""simple docstring"""






		SCREAMING_SNAKE_CASE       :      Dict							=    abs(lowercase				)
		SCREAMING_SNAKE_CASE       :      List[str]							=    0
		while n > 0:
				res += n % 10
				n //= 10
		return res


def   lowerCamelCase__			(     lowercase				):

		"""simple docstring"""






		SCREAMING_SNAKE_CASE       :      Optional[Any]							=    abs(lowercase				)
		return n if n < 10 else n % 10 + sum_of_digits(n // 10				)


def   lowerCamelCase__			(     lowercase				):

		"""simple docstring"""






		return sum(int(lowercase				) for c in str(abs(lowercase				)				)				)


def   lowerCamelCase__			(     ):

		"""simple docstring"""






		from collections.abc import Callable
		from timeit import timeit

		def benchmark_a_function(lowercase						,     lowercase				) -> None:
				SCREAMING_SNAKE_CASE       :      Tuple							=    F'''{func.__name__}({value})'''
				SCREAMING_SNAKE_CASE       :      Dict							=    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()














snake_case    				=		"""Tobias Carryer"""

from time import time


class  SCREAMING_SNAKE_CASE			:
     '''simple docstring'''


     def __init__(				self       :	List[Any]					, UpperCAmelCase_       :	List[str]					, UpperCAmelCase_       :	Optional[int]					, UpperCAmelCase_       :	Any					, UpperCAmelCase_       :	int=int(time()      )      ):  # noqa: B008
       SCREAMING_SNAKE_CASE       :      Optional[Any]							=    multiplier
       SCREAMING_SNAKE_CASE       :      Tuple							=    increment
       SCREAMING_SNAKE_CASE       :      int							=    modulo
       SCREAMING_SNAKE_CASE       :      Optional[int]							=    seed






     def 				_A       (				self       :	Tuple      ):
       SCREAMING_SNAKE_CASE       :      Optional[Any]							=    (self.multiplier * self.seed + self.increment) % self.modulo
       return self.seed


if __name__ == "__main__":
   # Show the LCG in action.
   snake_case    				=		LinearCongruentialGenerator(1_664_525, 1_013_904_223, 2 << 31)
   while True:
      print(lcg.next_number())






