




'''simple docstring'''


import unittest
from timeit import timeit
def 				SCREAMING_SNAKE_CASE(      __lowercase		,							__lowercase  ) ->   int:
     A:		Dict        =		first_num if first_num >= second_num else second_num
     A:		str        =		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(      __lowercase		,							__lowercase  ) ->   int:
     return b if a == 0 else greatest_common_divisor(b % a		,							__lowercase  )
def 				SCREAMING_SNAKE_CASE(      __lowercase		,							__lowercase  ) ->   int:
     return first_num // greatest_common_divisor(__lowercase		,							__lowercase  ) * second_num
def 				SCREAMING_SNAKE_CASE(      ) ->   Union[str, Any]:
     A:		Dict        =		(
         '''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'''

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



  def 				_snake_case    (   self							:       str  ) ->		Union[str, Any]:







       '''simple docstring'''



       for i, (first_num, second_num) in enumerate(self.test_inputs  ):
            A:		Optional[int]        =		least_common_multiple_slow(SCREAMING_SNAKE_CASE_				,     SCREAMING_SNAKE_CASE_  )
            A:		int        =		least_common_multiple_fast(SCREAMING_SNAKE_CASE_				,     SCREAMING_SNAKE_CASE_  )
            with self.subTest(i=SCREAMING_SNAKE_CASE_  ):
                 self.assertEqual(SCREAMING_SNAKE_CASE_				,     self.expected_results[i]  )
                 self.assertEqual(SCREAMING_SNAKE_CASE_				,     self.expected_results[i]  )


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












'''simple docstring'''


def 				SCREAMING_SNAKE_CASE(      __lowercase		,							__lowercase		,							__lowercase  ) ->   float:
     A:		str        =		[1 / first_term]
     A:		Optional[int]        =		1 / first_term
     for _ in range(number_of_terms - 1  ):
          first_term += common_difference
          arithmetic_progression.append(__lowercase  )
     A:		int        =		[1 / step for step in arithmetic_progression]
     return sum(__lowercase  )


if __name__ == "__main__":
     import doctest

     doctest.testmod()
     print(sum_of_harmonic_progression(1 / 2, 2, 2))






