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

import typing
from collections.abc import Iterable

import numpy as np

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



def 					UpperCamelCase					(       SCREAMING_SNAKE_CASE_						,	SCREAMING_SNAKE_CASE_ )      ->List[Any]:
    return np.sqrt(np.sum((np.asarray(lowerCamelCase_ ) - np.asarray(lowerCamelCase_ )) ** 2 ) )



def 					UpperCamelCase					(       SCREAMING_SNAKE_CASE_						,	SCREAMING_SNAKE_CASE_ )      ->List[Any]:
    return sum((va - va) ** 2 for va, va in zip(lowerCamelCase_						,	lowerCamelCase_ ) ) ** (1 / 2)


if __name__ == "__main__":



  def 					UpperCamelCase					(       )      ->Optional[Any]:
      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()










def     a     (		lowerCamelCase_						,  lowerCamelCase_							):






				'''simple docstring'''
				lowercase__  					=     len(lowerCamelCase_							)
				lowercase__  					=     [[False] * (required_sum + 1) for _ in range(arr_len + 1							)]

				# for each arr value, a sum of zero(0) can be formed by not taking any element
				# hence True/1
				for i in range(arr_len + 1							):
								lowercase__  					=     True

				# sum is not zero and set is empty then false
				for i in range(1						,  required_sum + 1							):
								lowercase__  					=     False

				for i in range(1						,  arr_len + 1							):
								for j in range(1						,  required_sum + 1							):
												if arr[i - 1] > j:
																lowercase__  					=     subset[i - 1][j]
												if arr[i - 1] <= j:
																lowercase__  					=     subset[i - 1][j] or subset[i - 1][j - arr[i - 1]]

				return subset[arr_len][required_sum]


if __name__ == "__main__":
							import doctest

							doctest.testmod()




