



import string

def        __a			(   __lowerCAmelCase   )     ->     None:
					for key in range(len(string.ascii_uppercase   )   ):
										SCREAMING_SNAKE_CASE							:     Optional[int]						=				''
										for symbol in message:
															if symbol in string.ascii_uppercase:
																				SCREAMING_SNAKE_CASE							:     List[Any]						=				string.ascii_uppercase.find(__lowerCAmelCase   )
																				SCREAMING_SNAKE_CASE							:     List[Any]						=				num - key
																				if num < 0:
																									SCREAMING_SNAKE_CASE							:     Optional[int]						=				num + len(string.ascii_uppercase   )
																				SCREAMING_SNAKE_CASE							:     Union[str, Any]						=				translated + string.ascii_uppercase[num]
															else:
																				SCREAMING_SNAKE_CASE							:     List[Any]						=				translated + symbol
										print(F'''Decryption using Key #{key}: {translated}'''   )

def        __a			(   )     ->     None:
					SCREAMING_SNAKE_CASE							:     Union[str, Any]						=				input('Encrypted message: '   )
					SCREAMING_SNAKE_CASE							:     str						=				message.upper()
					decrypt(__lowerCAmelCase   )


if __name__ == "__main__":
			import doctest

			doctest.testmod()
			main()




from __future__ import annotations

import typing
from collections.abc import Iterable

import numpy as np

_lowerCamelCase    :		Dict		      =    typing.Union[Iterable[float], Iterable[int], np.ndarray]  # noqa: UP007
_lowerCamelCase    :		Any		      =    typing.Union[np.floataa, int, float]  # noqa: UP007

def        __a			(   __lowerCAmelCase      ,	__lowerCAmelCase   )     ->     VectorOut:
					return np.sqrt(np.sum((np.asarray(__lowerCAmelCase   ) - np.asarray(__lowerCAmelCase   )) ** 2   )   )

def        __a			(   __lowerCAmelCase      ,	__lowerCAmelCase   )     ->     VectorOut:
					return sum((va - va) ** 2 for va, va in zip(__lowerCAmelCase      ,	__lowerCAmelCase   )   ) ** (1 / 2)


if __name__ == "__main__":

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

								print('Without Numpy'   )
								print(
								    timeit(
								        'euclidean_distance_no_np([1, 2, 3], [4, 5, 6])'      ,	number=1_0000      ,	globals=globals()      ,	)   )
								print('With Numpy'   )
								print(
								    timeit(
								        'euclidean_distance([1, 2, 3], [4, 5, 6])'      ,	number=1_0000      ,	globals=globals()      ,	)   )



			benchmark()