






'''simple docstring'''







def  SCREAMING_SNAKE_CASE_       (UpperCamelCase				,			UpperCamelCase      )      ->       int:
							while b:
														lowerCamelCase__  ,		lowerCamelCase__					:	Union[str, Any]         =       b, a % b
							return a





def  SCREAMING_SNAKE_CASE_       (UpperCamelCase				,			UpperCamelCase      )      ->       int:
							return a if b == 0 else euclidean_gcd_recursive(UpperCamelCase				,			a % b      )





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









def 						_a    (      a :int )							->			bool:
 a		  =      n ** (1 / 3)
 return (val * val * val) == n


if __name__ == "__main__":
     print(perfect_cube(27))
     print(perfect_cube(4))


