
"""simple docstring"""




import unittest
from timeit import timeit

def     UpperCamelCase_    (						SCREAMING_SNAKE_CASE_,	SCREAMING_SNAKE_CASE_     ):
					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     UpperCamelCase_    (						SCREAMING_SNAKE_CASE_,	SCREAMING_SNAKE_CASE_     ):
					return b if a == 0 else greatest_common_divisor(b % a,	SCREAMING_SNAKE_CASE_     )

def     UpperCamelCase_    (						SCREAMING_SNAKE_CASE_,	SCREAMING_SNAKE_CASE_     ):
					return first_num // greatest_common_divisor(SCREAMING_SNAKE_CASE_,	SCREAMING_SNAKE_CASE_     ) * second_num

def     UpperCamelCase_    (						):
					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=SCREAMING_SNAKE_CASE_     ),	)
					print(
					    'least_common_multiple_fast():',	timeit('least_common_multiple_fast(1000, 999)',	setup=SCREAMING_SNAKE_CASE_     ),	)




class 	UpperCamelCase      (			unittest.TestCase ):

				"""simple docstring"""



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


				def 				A   (							self     )       ->       List[str]:
									"""simple docstring"""







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


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


'''simple docstring'''





def 							snake_case				(		UpperCAmelCase						)->      int:







      """simple docstring"""
      if not isinstance(UpperCAmelCase   ,	UpperCAmelCase						):
            raise ValueError('double_factorial() only accepts integral values'						)
      if num < 0:
            raise ValueError('double_factorial() not defined for negative values'						)
      __A													=      1
      for i in range(UpperCAmelCase   ,	0   ,	-2						):
            value *= i
      return value


if __name__ == "__main__":
 import doctest

 doctest.testmod()






