

'''simple docstring'''






def 	_A  (					A__   ):






 """simple docstring"""



 __lowercase													=				abs(A__   )
 __lowercase													=				0
 while n > 0:
  res += n % 10
  n //= 10
 return res


def 	_A  (					A__   ):






 """simple docstring"""



 __lowercase													=				abs(A__   )
 return n if n < 10 else n % 10 + sum_of_digits(n // 10   )


def 	_A  (					A__   ):






 """simple docstring"""



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


def 	_A  (					):






 """simple docstring"""



 from collections.abc import Callable
 from timeit import timeit

 def benchmark_a_function(A__  ,       A__   ) -> None:
  __lowercase													=				F"{func.__name__}({value})"
  __lowercase													=				timeit(F"__main__.{call}"  ,       setup='''import __main__'''   )
  print(F"{call:56} = {func(A__   )} -- {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(A__  ,       A__   )
  print()


if __name__ == "__main__":
 import doctest

 doctest.testmod()
 benchmark()





'''simple docstring'''






import re


def 	_A  (					A__   ):






 """simple docstring"""



 __lowercase													=				re.compile(
     R'''^(?:0|94|\+94|0{2}94)''' R'''7(0|1|2|4|5|6|7|8)''' R'''(-| |)''' R'''\d{7}$'''   )

 return bool(re.search(A__  ,       A__   )   )


if __name__ == "__main__":
 lowerCAmelCase__      		=			'''0094702343221'''

 print(is_sri_lankan_phone_number(phone))

