





'''simple docstring'''




def 	_lowerCAmelCase      (  __snake_case  :			str = "The quick brown fox jumps over the lazy dog"			,							)					->					bool:
     __A						:			Optional[int]								=	set()

     # Replace all the whitespace in our sentence
     __A						:			str								=	input_str.replace(' '			,							''      )
     for alpha in input_str:
          if "a" <= alpha.lower() <= "z":
               frequency.add(alpha.lower()      )
     return len(_snake_case      ) == 26






def 	_lowerCAmelCase      (  __snake_case  :			str = "The quick brown fox jumps over the lazy dog"			,							)					->					bool:
     __A						:			Tuple								=	[False] * 26
     for char in input_str:
          if char.islower():
               __A						:			Any								=	True
          elif char.isupper():
               __A						:			Dict								=	True
     return all(_snake_case      )






def 	_lowerCAmelCase      (  __snake_case  :			str = "The quick brown fox jumps over the lazy dog"			,							)					->					bool:
     return len({char for char in input_str.lower() if char.isalpha()}      ) == 26






def 	_lowerCAmelCase      (  )					->					None:
     from timeit import timeit

     __A						:			List[str]								=	'''from __main__ import is_pangram, is_pangram_faster, is_pangram_fastest'''
     print(timeit('is_pangram()'			,							setup=_snake_case      )      )
     print(timeit('is_pangram_faster()'			,							setup=_snake_case      )      )
     print(timeit('is_pangram_fastest()'			,							setup=_snake_case      )      )
     # 5.348480500048026, 2.6477354579837993, 1.8470395830227062
     # 5.036091582966037, 2.644472333951853,  1.8869528750656173


if __name__ == "__main__":
  import doctest

  doctest.testmod()
  benchmark()








'''simple docstring'''




import math






def 	_lowerCAmelCase      (  __snake_case  :			int      )					->					int:

     if not isinstance(__snake_case			,							__snake_case      ):
          __A						:			List[Any]								=	f'Input value of [number={number}] must be an integer'
          raise TypeError(__snake_case      )

     if number < 1:
          __A						:			Union[str, Any]								=	f'Input value of [number={number}] must be > 0'
          raise ValueError(__snake_case      )
     elif number == 1:
          return 3
     elif number == 2:
          return 5
     else:
          __A						:			Optional[Any]								=	int(math.log(number // 3			,							2      )      ) + 2

          __A						:			Union[str, Any]								=	[3, 5]
          __A						:			List[Any]								=	2
          __A						:			Optional[Any]								=	3
          for block in range(1			,							__snake_case      ):
               for _ in range(__snake_case      ):
                    proth_list.append(2 ** (block + 1) + proth_list[proth_index - 1]      )
                    proth_index += 1
               increment *= 2

     return proth_list[number - 1]


if __name__ == "__main__":
  import doctest

  doctest.testmod()

  for number in range(11):
    lowercase__   :				str      =   0
    try:
      lowercase__   :				List[str]      =   proth(number)
    except ValueError:
      print(f"""ValueError: there is no {number}th Proth number""")
      continue

    print(f"""The {number}th Proth number: {value}""")