
from __future__ import annotations

import typing
from collections.abc import Iterable

import numpy as np

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







def        A__					(						lowerCamelCase     ,    lowerCamelCase						)  ->	VectorOut:
				return np.sqrt(np.sum((np.asarray(lowerCamelCase						) - np.asarray(lowerCamelCase						)) ** 2						)						)







def        A__					(						lowerCamelCase     ,    lowerCamelCase						)  ->	VectorOut:
				return sum((va - va) ** 2 for va, va in zip(lowerCamelCase     ,    lowerCamelCase						)						) ** (1 / 2)


if __name__ == "__main__":







							def        A__					(						)  ->	None:
											from timeit import timeit

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





							benchmark()








def        A__					(						lowerCamelCase = 50						)  ->	int:
				UpperCamelCase_:							List[Any]	=						[[0] * 3 for _ in range(length + 1						)]

				for row_length in range(length + 1						):
								for tile_length in range(2     ,    5						):
												for tile_start in range(row_length - tile_length + 1						):
																different_colour_ways_number[row_length][tile_length - 2] += (
																    different_colour_ways_number[row_length - tile_start - tile_length][
																        tile_length - 2
																    ]
																    + 1
																)

				return sum(different_colour_ways_number[length]						)


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






