


"""simple docstring"""




def       a_ (	lowercase__ :int,			lowercase__ :int     ):
			return x if y == 0 else greatest_common_divisor(lowercase__,			x % y     )





def       a_ (	lowercase__ :int,			lowercase__ :int     ):
			return (x * y) // greatest_common_divisor(lowercase__,			lowercase__     )





def       a_ (	lowercase__ :int = 20     ):
			__lowerCamelCase          =      1
			for i in range(1,			n + 1     ):
						__lowerCamelCase          =      lcm(lowercase__,			lowercase__     )
			return g


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








"""simple docstring"""




from collections.abc import Callable





def       a_ (	lowercase__ :Callable[[float], float],			lowercase__ :float,			lowercase__ :float     ):
			__lowerCamelCase          =      a
			__lowerCamelCase          =      b
			if function(lowercase__     ) == 0:  # one of the a or b is a root for the function
						return a
			elif function(lowercase__     ) == 0:
						return b
			elif (
			    function(lowercase__     ) * function(lowercase__     ) > 0
			):  # if none of these are root and they are both positive or negative,
						# then this algorithm can't find the root
						raise ValueError("""could not find root in given interval."""     )
			else:
						__lowerCamelCase          =      start + (end - start) / 2.0
						while abs(start - mid     ) > 10**-7:  # until precisely equals to 10^-7
									if function(lowercase__     ) == 0:
												return mid
									elif function(lowercase__     ) * function(lowercase__     ) < 0:
												__lowerCamelCase          =      mid
									else:
												__lowerCamelCase          =      mid
									__lowerCamelCase          =      start + (end - start) / 2.0
						return mid





def       a_ (	lowercase__ :float     ):
			return x**3 - 2 * x - 5


if __name__ == "__main__":
					print(bisection(f, 1, 1_0_0_0))

					import doctest

					doctest.testmod()




