





from __future__ import annotations

import typing
from collections.abc import Iterable

import numpy as np

_A					:				Optional[Any]				=			typing.Union[Iterable[float], Iterable[int], np.ndarray]  # noqa: UP007
_A					:				Union[str, Any]				=			typing.Union[np.floataa, int, float]  # noqa: UP007


def 							__snake_case							(    lowerCAmelCase_ ,							lowerCAmelCase_	)				->						int:
    return np.sqrt(np.sum((np.asarray(_UpperCamelCase	) - np.asarray(_UpperCamelCase	)) ** 2	)	)


def 							__snake_case							(    lowerCAmelCase_ ,							lowerCAmelCase_	)				->						Optional[Any]:
    return sum((va - va) ** 2 for va, va in zip(_UpperCamelCase ,							_UpperCamelCase	)	) ** (1 / 2)


if __name__ == "__main__":


  def 							__snake_case							(    )				->						Any:
      from timeit import timeit

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



  benchmark()








'''simple docstring'''
def 		__SCREAMING_SNAKE_CASE       (	_UpperCamelCase = 100				):


   """simple docstring"""




   lowercase_						:     Dict							     =  n * (n + 1) * (2 * n + 1) / 6
   lowercase_						:     int							     =  (n * (n + 1) / 2) ** 2
   return int(square_of_sum - sum_of_squares				)


if __name__ == "__main__":
 print(f"""{solution() = }""")




