






"""simple docstring"""





import math






def 							A(    snake_case_						):
       """simple docstring"""





       lowercase__:							Optional[int]         =     math.log(2		,  10						) * number
       lowercase__:							List[Any]         =     round((log_number - int(__A						))		,  15						)

       return difference






def 							A(    snake_case_ = 678910						):
       """simple docstring"""





       lowercase__:							Optional[int]         =     90
       lowercase__:							List[str]         =     0

       lowercase__:							Optional[int]         =     math.log(1.23		,  10						)
       lowercase__:							Union[str, Any]         =     math.log(1.24		,  10						)
       lowercase__:							Optional[int]         =     0

       while position < number:
              lowercase__:							str         =     log_difference(__A						)

              if difference >= upper_limit:
                     power_iterator += 93

              elif difference < lower_limit:
                     power_iterator += 196

              else:
                     lowercase__:							Optional[int]         =     power_iterator
                     power_iterator += 196
                     position += 1

       return previous_power


if __name__ == "__main__":
  import doctest

  doctest.testmod()

  print(F"{solution() = }")










'''simple docstring'''







import math
from timeit import timeit







def _UpperCamelCase			(	__A       )				->						int:


      '''simple docstring'''



      UpperCamelCase__      =							0
      UpperCamelCase__      =							abs(__A       )
      while True:
            UpperCamelCase__      =							n // 10
            digits += 1
            if n == 0:
                  break
      return digits







def _UpperCamelCase			(	__A       )				->						int:


      '''simple docstring'''



      return 1 if n == 0 else math.floor(math.log(abs(__A       ) ,     10       ) + 1       )







def _UpperCamelCase			(	__A       )				->						int:


      '''simple docstring'''



      return len(str(abs(__A       )       )       )







def _UpperCamelCase			(	)				->						None:


      '''simple docstring'''



      from collections.abc import Callable

      def benchmark_a_function(__A ,     __A       ) -> None:
            UpperCamelCase__      =							F'''{func.__name__}({value})'''
            UpperCamelCase__      =							timeit(F'''__main__.{call}''' ,     setup="import __main__"       )
            print(F'''{call}: {func(__A       )} -- {timing} seconds'''       )

      for value in (262144, 1125899906842624, 1267650600228229401496703205376):
            for func in (num_digits, num_digits_fast, num_digits_faster):
                  benchmark_a_function(__A ,     __A       )
            print()


if __name__ == "__main__":
  import doctest

  doctest.testmod()
  benchmark()





