



import unittest
from timeit import timeit




def    UpperCAmelCase					(  lowercase__						:					int				,					lowercase__						:					int	):



			'''simple docstring'''





			a__					=  first_num if first_num >= second_num else second_num
			a__					=  max_num
			while (common_mult % first_num > 0) or (common_mult % second_num > 0):
						common_mult += max_num
			return common_mult




def    UpperCAmelCase					(  lowercase__						:					int				,					lowercase__						:					int	):



			'''simple docstring'''





			return b if a == 0 else greatest_common_divisor(b % a				,					lowercase__	)




def    UpperCAmelCase					(  lowercase__						:					int				,					lowercase__						:					int	):



			'''simple docstring'''





			return first_num // greatest_common_divisor(lowercase__				,					lowercase__	) * second_num




def    UpperCAmelCase					(  ):



			'''simple docstring'''





			a__					=  (
			    """from __main__ import least_common_multiple_slow, least_common_multiple_fast"""
			)
			print(
			    """least_common_multiple_slow():"""				,					timeit("""least_common_multiple_slow(1000, 999)"""				,					setup=lowercase__	)				,					)
			print(
			    """least_common_multiple_fast():"""				,					timeit("""least_common_multiple_fast(1000, 999)"""				,					setup=lowercase__	)				,					)
class lowerCAmelCase_       (   unittest.TestCase			):







	'''simple docstring'''




	A_       :     Optional[Any]									=		(
	    (10, 20),
	    (13, 15),
	    (4, 31),
	    (10, 42),
	    (43, 34),
	    (5, 12),
	    (12, 25),
	    (10, 25),
	    (6, 9),
	)
	A_       :     Optional[int]									=		(20, 195, 124, 210, 1462, 60, 300, 50, 18)

	def 				_A			(	self       ):



				'''simple docstring'''


				for i, (first_num, second_num) in enumerate(self.test_inputs       ):
							a__					=  least_common_multiple_slow(lowerCamelCase   ,       lowerCamelCase       )
							a__					=  least_common_multiple_fast(lowerCamelCase   ,       lowerCamelCase       )
							with self.subTest(i=lowerCamelCase       ):
										self.assertEqual(lowerCamelCase   ,       self.expected_results[i]       )
										self.assertEqual(lowerCamelCase   ,       self.expected_results[i]       )


if __name__ == "__main__":
	benchmark()
	unittest.main()






def    UpperCAmelCase					(  lowercase__						:					int = 998001	):



			'''simple docstring'''





			for number in range(n - 1				,					9999				,					-1	):
						a__					=  str(lowercase__	)

						# checks whether 'str_number' is a palindrome.
						if str_number == str_number[::-1]:
									a__					=  999

									# if 'number' is a product of two 3-digit numbers
									# then number is the answer otherwise fetch next number.
									while divisor != 99:
												if (number % divisor == 0) and (len(str(number // divisor	)	) == 3.0):
															return number
												divisor -= 1
			raise ValueError("""That number is larger than our acceptable range."""	)


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

