
'''simple docstring'''





import sys





def 							snake_case				(		UpperCAmelCase   ,	UpperCAmelCase						)->      int:







      """simple docstring"""
      if not numbers:
            return 0
      if target == 0 and target in numbers:
            return 0
      if not isinstance(UpperCAmelCase   ,	(list, tuple)						) or not all(
          isinstance(UpperCAmelCase   ,	UpperCAmelCase						) for number in numbers						):
            raise ValueError('numbers must be an iterable of integers'						)

      __A													=      __A													=      __A													=      0
      __A													=      sys.maxsize

      while right < len(UpperCAmelCase						):
            curr_sum += numbers[right]
            while curr_sum >= target and left <= right:
                  __A													=      min(UpperCAmelCase   ,	right - left + 1						)
                  curr_sum -= numbers[left]
                  left += 1
            right += 1

      return 0 if min_len == sys.maxsize else min_len










'''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()





