






def     a_   (__A = "The quick brown fox jumps over the lazy dog"				,       )				->						bool:



					"""simple docstring"""
					__a					:						List[str]      =					set()

					# Replace all the whitespace in our sentence
					__a					:						List[Any]      =					input_str.replace(" "				,       ""      )
					for alpha in input_str:
										if "a" <= alpha.lower() <= "z":
															frequency.add(alpha.lower()      )
					return len(__A      ) == 26







def     a_   (__A = "The quick brown fox jumps over the lazy dog"				,       )				->						bool:



					"""simple docstring"""
					__a					:						Dict      =					[False] * 26
					for char in input_str:
										if char.islower():
															__a					:						Union[str, Any]      =					True
										elif char.isupper():
															__a					:						str      =					True
					return all(__A      )







def     a_   (__A = "The quick brown fox jumps over the lazy dog"				,       )				->						bool:



					"""simple docstring"""
					return len({char for char in input_str.lower() if char.isalpha()}      ) == 26







def     a_   ()				->						None:



					"""simple docstring"""
					from timeit import timeit

					__a					:						Optional[Any]      =					"from __main__ import is_pangram, is_pangram_faster, is_pangram_fastest"
					print(timeit("is_pangram()"				,       setup=__A      )      )
					print(timeit("is_pangram_faster()"				,       setup=__A      )      )
					print(timeit("is_pangram_fastest()"				,       setup=__A      )      )
					# 5.348480500048026, 2.6477354579837993, 1.8470395830227062
					# 5.036091582966037, 2.644472333951853,  1.8869528750656173


if __name__ == "__main__":
			import doctest

			doctest.testmod()
			benchmark()













UpperCAmelCase__      			=						'''ABCDEFGHIJKLMNOPQRSTUVWXYZ'''







def     a_   ()				->						None:



					"""simple docstring"""
					__a					:						Dict      =					input("Enter message: "      )
					__a					:						Dict      =					input("Enter key [alphanumeric]: "      )
					__a					:						str      =					input("Encrypt/Decrypt [e/d]: "      )

					if mode.lower().startswith("e"      ):
										__a					:						List[str]      =					"encrypt"
										__a					:						Union[str, Any]      =					encrypt_message(__A				,       __A      )
					elif mode.lower().startswith("d"      ):
										__a					:						int      =					"decrypt"
										__a					:						List[str]      =					decrypt_message(__A				,       __A      )

					print(f'\n{mode.title()}ed message:'      )
					print(__A      )







def     a_   (__A				,       __A      )				->						str:



					"""simple docstring"""
					return translate_message(__A				,       __A				,       "encrypt"      )







def     a_   (__A				,       __A      )				->						str:



					"""simple docstring"""
					return translate_message(__A				,       __A				,       "decrypt"      )







def     a_   (__A				,       __A				,       __A      )				->						str:



					"""simple docstring"""
					__a					:						Union[str, Any]      =					[]
					__a					:						Tuple      =					0
					__a					:						Dict      =					key.upper()

					for symbol in message:
										__a					:						Dict      =					LETTERS.find(symbol.upper()      )
										if num != -1:
															if mode == "encrypt":
																				num += LETTERS.find(key[key_index]      )
															elif mode == "decrypt":
																				num -= LETTERS.find(key[key_index]      )

															num %= len(__A      )

															if symbol.isupper():
																				translated.append(LETTERS[num]      )
															elif symbol.islower():
																				translated.append(LETTERS[num].lower()      )

															key_index += 1
															if key_index == len(__A      ):
																				__a					:						List[str]      =					0
										else:
															translated.append(__A      )
					return "".join(__A      )


if __name__ == "__main__":
			main()





