import unittest
from timeit import timeit




def 				_snake_case     (       lowerCAmelCase							:       int       ,			lowerCAmelCase							:       int     ):
		"""simple docstring"""







		SCREAMING_SNAKE_CASE_  :		int    				=   first_num if first_num >= second_num else second_num
		SCREAMING_SNAKE_CASE_  :		List[Any]    				=   max_num
		while (common_mult % first_num > 0) or (common_mult % second_num > 0):
				common_mult += max_num
		return common_mult




def 				_snake_case     (       lowerCAmelCase							:       int       ,			lowerCAmelCase							:       int     ):
		"""simple docstring"""







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




def 				_snake_case     (       lowerCAmelCase							:       int       ,			lowerCAmelCase							:       int     ):
		"""simple docstring"""







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




def 				_snake_case     (       ):
		"""simple docstring"""







		SCREAMING_SNAKE_CASE_  :		Optional[int]    				=   (
		    "from __main__ import least_common_multiple_slow, least_common_multiple_fast"
		)
		print(
		    "least_common_multiple_slow():"       ,			timeit("least_common_multiple_slow(1000, 999)"       ,			setup=lowerCAmelCase     )       ,			)
		print(
		    "least_common_multiple_fast():"       ,			timeit("least_common_multiple_fast(1000, 999)"       ,			setup=lowerCAmelCase     )       ,			)






class 		a__						( unittest.TestCase ):
					A     	=							(
					    (10, 20),
					    (13, 15),
					    (4, 31),
					    (10, 42),
					    (43, 34),
					    (5, 12),
					    (12, 25),
					    (10, 25),
					    (6, 9),
					)
					A     	=							(20, 195, 124, 210, 1462, 60, 300, 50, 18)

					def     __UpperCamelCase       (   self				:	List[str]   ):







							"""simple docstring"""






							for i, (first_num, second_num) in enumerate(self.test_inputs   ):
									SCREAMING_SNAKE_CASE_  :		List[str]    				=   least_common_multiple_slow(lowercase_,lowercase_   )
									SCREAMING_SNAKE_CASE_  :		Dict    				=   least_common_multiple_fast(lowercase_,lowercase_   )
									with self.subTest(i=lowercase_   ):
											self.assertEqual(lowercase_,self.expected_results[i]   )
											self.assertEqual(lowercase_,self.expected_results[i]   )


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

from ..utils import DummyObject, requires_backends






class 		a__						( metaclass=A__ ):
					A     	=							['tensorflow_text']

					def __init__(   self				:	List[str],*_A				:	Optional[Any],**_A				:	int   ):







							"""simple docstring"""






							requires_backends(self,["tensorflow_text"]   )
