
"""simple docstring"""

from __future__ import annotations
def 		UpperCAmelCase (		a_,						a_,						a_,						a_      ):  # noqa: E741





		'''simple docstring'''


		while r - l > 1:
				lowerCamelCase					:      Optional[int]          =   (l + r) // 2
				if v[m] >= key:
						lowerCamelCase					:      Tuple          =   m
				else:
						lowerCamelCase					:      List[Any]          =   m  # noqa: E741
		return r
def 		UpperCAmelCase (		a_      ):





		'''simple docstring'''


		if len(a_      ) == 0:
				return 0

		lowerCamelCase					:      int          =   [0] * len(a_      )
		lowerCamelCase					:      Optional[int]          =   1

		lowerCamelCase					:      Any          =   v[0]

		for i in range(1,						len(a_      )      ):
				if v[i] < tail[0]:
						lowerCamelCase					:      Dict          =   v[i]
				elif v[i] > tail[length - 1]:
						lowerCamelCase					:      Any          =   v[i]
						length += 1
				else:
						lowerCamelCase					:      str          =   v[i]

		return length


if __name__ == "__main__":
					import doctest

					doctest.testmod()








"""simple docstring"""

def 		UpperCAmelCase (		a_,						a_      ):





		'''simple docstring'''


		while b:
				lowerCamelCase     ,   lowerCamelCase					:      Tuple          =   b, a % b
		return a
def 		UpperCAmelCase (		a_,						a_      ):





		'''simple docstring'''


		return a if b == 0 else euclidean_gcd_recursive(a_,						a % b      )
def 		UpperCAmelCase (		):





		'''simple docstring'''


		print(F"""euclidean_gcd(3, 5) = {euclidean_gcd(3,						5      )}"""      )
		print(F"""euclidean_gcd(5, 3) = {euclidean_gcd(5,						3      )}"""      )
		print(F"""euclidean_gcd(1, 3) = {euclidean_gcd(1,						3      )}"""      )
		print(F"""euclidean_gcd(3, 6) = {euclidean_gcd(3,						6      )}"""      )
		print(F"""euclidean_gcd(6, 3) = {euclidean_gcd(6,						3      )}"""      )

		print(F"""euclidean_gcd_recursive(3, 5) = {euclidean_gcd_recursive(3,						5      )}"""      )
		print(F"""euclidean_gcd_recursive(5, 3) = {euclidean_gcd_recursive(5,						3      )}"""      )
		print(F"""euclidean_gcd_recursive(1, 3) = {euclidean_gcd_recursive(1,						3      )}"""      )
		print(F"""euclidean_gcd_recursive(3, 6) = {euclidean_gcd_recursive(3,						6      )}"""      )
		print(F"""euclidean_gcd_recursive(6, 3) = {euclidean_gcd_recursive(6,						3      )}"""      )


if __name__ == "__main__":
					main()






