




'''simple docstring'''



from __future__ import annotations

import math







def       _UpperCamelCase			(_lowerCamelCase				:  int						)-> bool:




     '''simple docstring'''





     if 1 < number < 4:
          # 2 and 3 are primes
          return True
     elif number < 2 or number % 2 == 0 or number % 3 == 0:
          # Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
          return False

     # All primes number are in format of 6k +/- 1
     for i in range(5 ,						int(math.sqrt(_lowerCamelCase						) + 1						) ,						6						):
          if number % i == 0 or number % (i + 2) == 0:
               return False
     return True







def       _UpperCamelCase			(_lowerCamelCase				:  int						)-> list[int]:




     '''simple docstring'''





     __snake_case            =	str(_lowerCamelCase						)
     __snake_case            =	[n]
     for i in range(1 ,						len(_lowerCamelCase						)						):
          list_nums.append(int(str_num[i:]						)						)
          list_nums.append(int(str_num[:-i]						)						)
     return list_nums







def       _UpperCamelCase			(_lowerCamelCase				:  int						)-> bool:




     '''simple docstring'''





     if len(str(_lowerCamelCase						)						) > 3:
          if not is_prime(int(str(_lowerCamelCase						)[-3:]						)						) or not is_prime(int(str(_lowerCamelCase						)[:3]						)						):
               return False
     return True







def       _UpperCamelCase			(_lowerCamelCase				:  int = 11						)-> list[int]:




     '''simple docstring'''





     __snake_case            =	[]
     __snake_case            =	13
     while len(_lowerCamelCase						) != count:
          if validate(_lowerCamelCase						):
               __snake_case            =	list_truncated_nums(_lowerCamelCase						)
               if all(is_prime(_lowerCamelCase						) for i in list_nums						):
                    list_truncated_primes.append(_lowerCamelCase						)
          num += 2
     return list_truncated_primes







def       _UpperCamelCase			()-> int:




     '''simple docstring'''





     return sum(compute_truncated_primes(11						)						)


if __name__ == "__main__":
     print(F"""{sum(compute_truncated_primes(1_1)) = }""")












'''simple docstring'''



def       _UpperCamelCase			(_lowerCamelCase				:  int						)-> int:




     '''simple docstring'''





     __snake_case            =	abs(_lowerCamelCase						)
     __snake_case            =	0
     while n > 0:
          res += n % 10
          n //= 10
     return res







def       _UpperCamelCase			(_lowerCamelCase				:  int						)-> int:




     '''simple docstring'''





     __snake_case            =	abs(_lowerCamelCase						)
     return n if n < 10 else n % 10 + sum_of_digits(n // 10						)







def       _UpperCamelCase			(_lowerCamelCase				:  int						)-> int:




     '''simple docstring'''





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







def       _UpperCamelCase			()-> None:




     '''simple docstring'''





     from collections.abc import Callable
     from timeit import timeit

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

     for value in (26_21_44, 11_25_89_99_06_84_26_24, 1_26_76_50_60_02_28_22_94_01_49_67_03_20_53_76):
          for func in (sum_of_digits, sum_of_digits_recursion, sum_of_digits_compact):
               benchmark_a_function(_lowerCamelCase ,						_lowerCamelCase						)
          print()


if __name__ == "__main__":
     import doctest

     doctest.testmod()
     benchmark()






