import unittest
from timeit import timeit



def       __SCREAMING_SNAKE_CASE    (   __UpperCamelCase       :			Dict					,	__UpperCamelCase       :			Optional[Any]      )				->   int:







  """simple docstring"""





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



def       __SCREAMING_SNAKE_CASE    (   __UpperCamelCase       :			Optional[Any]					,	__UpperCamelCase       :			str      )				->   int:







  """simple docstring"""





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



def       __SCREAMING_SNAKE_CASE    (   __UpperCamelCase       :			Tuple					,	__UpperCamelCase       :			Union[str, Any]      )				->   int:







  """simple docstring"""





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



def       __SCREAMING_SNAKE_CASE    (   )				->   List[Any]:







  """simple docstring"""





  SCREAMING_SNAKE_CASE__     				= (
      """from __main__ import least_common_multiple_slow, least_common_multiple_fast"""
  )
  print(
      """least_common_multiple_slow():"""					,	timeit("""least_common_multiple_slow(1000, 999)"""					,	setup=__UpperCamelCase      )					,	)
  print(
      """least_common_multiple_fast():"""					,	timeit("""least_common_multiple_fast(1000, 999)"""					,	setup=__UpperCamelCase      )					,	)







class __snake_case							(		unittest.TestCase						):
   lowerCAmelCase_								=				(
       (10, 20),
       (13, 15),
       (4, 31),
       (10, 42),
       (43, 34),
       (5, 12),
       (12, 25),
       (10, 25),
       (6, 9),
   )
   lowerCAmelCase_								=				(20, 1_95, 1_24, 2_10, 14_62, 60, 3_00, 50, 18)




   def       __a		(       self     :							Union[str, Any] ):



     """simple docstring"""






     for i, (first_num, second_num) in enumerate(self.test_inputs ):
       SCREAMING_SNAKE_CASE__     				= least_common_multiple_slow(_lowerCAmelCase			,      _lowerCAmelCase )
       SCREAMING_SNAKE_CASE__     				= 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()







'''simple docstring'''


from math import pi




def  __a			(  UpperCAmelCase     )   ->float:



	"""simple docstring"""







	return degree / (180 / pi)


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

				testmod()

