
"""simple docstring"""

def 		UpperCAmelCase (		a_,						a_ = False      ):





		'''simple docstring'''


		if not isinstance(a_,						a_      ):
				lowerCamelCase					:      Any          =   F"""Expected string as input, found {type(a_      )}"""
				raise ValueError(a_      )
		if not isinstance(a_,						a_      ):
				lowerCamelCase					:      Any          =   F"""Expected boolean as use_pascal parameter, found {type(a_      )}"""
				raise ValueError(a_      )

		lowerCamelCase					:      List[Any]          =   input_str.split('_'      )

		lowerCamelCase					:      str          =   0 if use_pascal else 1

		lowerCamelCase					:      Union[str, Any]          =   words[start_index:]

		lowerCamelCase					:      int          =   [word[0].upper() + word[1:] for word in words_to_capitalize]

		lowerCamelCase					:      Any          =   '' if use_pascal else words[0]

		return "".join([initial_word, *capitalized_words]      )


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

					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()






