"""simple docstring"""
from __future__ import annotations

import typing
from collections.abc import Iterable

import numpy as np

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







def 						__a   (	_SCREAMING_SNAKE_CASE		,     _SCREAMING_SNAKE_CASE   )	->List[Any]:
  return np.sqrt(np.sum((np.asarray(lowercase__   ) - np.asarray(lowercase__   )) ** 2   )   )







def 						__a   (	_SCREAMING_SNAKE_CASE		,     _SCREAMING_SNAKE_CASE   )	->Tuple:
  return sum((va - va) ** 2 for va, va in zip(lowercase__		,     lowercase__   )   ) ** (1 / 2)


if __name__ == "__main__":







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

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


 benchmark()








"""simple docstring"""






import math







def      _snake_case			(				lowercase__		):
				return math.sqrt(lowercase__		) * math.sqrt(lowercase__		) == num







def      _snake_case			(				lowercase__		):
				_lowerCamelCase     :			Optional[int]    =    0
				_lowerCamelCase     :			List[Any]    =    n
				while left <= right:
								_lowerCamelCase     :			str    =    (left + right) // 2
								if mid**2 == n:
												return True
								elif mid**2 > n:
												_lowerCamelCase     :			str    =    mid - 1
								else:
												_lowerCamelCase     :			Optional[int]    =    mid + 1
				return False


if __name__ == "__main__":
			import doctest

			doctest.testmod()