from __future__ import annotations

import typing
from collections.abc import Iterable

import numpy as np

__SCREAMING_SNAKE_CASE						:   Tuple         =			typing.Union[Iterable[float], Iterable[int], np.ndarray]  # noqa: UP007
__SCREAMING_SNAKE_CASE						:   Any         =			typing.Union[np.floataa, int, float]  # noqa: UP007
def  snake_case						(__lowercase ,      __lowercase						)	->	List[Any]:

      '''simple docstring'''



      return np.sqrt(np.sum((np.asarray(__lowerCamelCase						) - np.asarray(__lowerCamelCase						)) ** 2						)						)
def  snake_case						(__lowercase ,      __lowercase						)	->	List[str]:

      '''simple docstring'''



      return sum((va - va) ** 2 for va, va in zip(__lowerCamelCase ,      __lowerCamelCase						)						) ** (1 / 2)


if __name__ == "__main__":
    def  snake_case						()	->	Union[str, Any]:

          '''simple docstring'''



          from timeit import timeit

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

    benchmark()
def  snake_case						(__lowercase						)	->	list:

						'''simple docstring'''



						return [
						    txt[:a] + txt[a].upper() + txt[a + 1 :]
						    for a in range(len(__lowercase						)						)
						    if txt[a].isalpha()
						]


if __name__ == "__main__":
				__import__('doctest').testmod()