





"""simple docstring"""





def 			UpperCAmelCase__							(  SCREAMING_SNAKE_CASE     :						str			):







      '''simple docstring'''




      if not all(char in """01""" for char in bin_string			):
            raise ValueError("""Non-binary value was passed to the function"""			)
      if not bin_string:
            raise ValueError("""Empty string was passed to the function"""			)
      lowerCAmelCase  						=       """"""
      while len(SCREAMING_SNAKE_CASE			) % 3 != 0:
            lowerCAmelCase  						=       """0""" + bin_string
      lowerCAmelCase  						=       [
          bin_string[index : index + 3]
          for index in range(len(SCREAMING_SNAKE_CASE			)			)
          if index % 3 == 0
      ]
      for bin_group in bin_string_in_3_list:
            lowerCAmelCase  						=       0
            for index, val in enumerate(SCREAMING_SNAKE_CASE			):
                  oct_val += int(2 ** (2 - index) * int(SCREAMING_SNAKE_CASE			)			)
            oct_string += str(SCREAMING_SNAKE_CASE			)
      return oct_string


if __name__ == "__main__":
       from doctest import testmod

       testmod()














from __future__ import annotations

import typing
from collections.abc import Iterable

import numpy as np

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






def 				lowerCamelCase__      (    __lowerCamelCase			:     Vector  ,		__lowerCamelCase			:     Vector		):
  return np.sqrt(np.sum((np.asarray(__lowerCamelCase		) - np.asarray(__lowerCamelCase		)) ** 2		)		)






def 				lowerCamelCase__      (    __lowerCamelCase			:     Vector  ,		__lowerCamelCase			:     Vector		):
  return sum((va - va) ** 2 for va, va in zip(__lowerCamelCase  ,		__lowerCamelCase		)		) ** (1 / 2)


if __name__ == "__main__":






       def 				lowerCamelCase__      (    ):
         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()


