

"""simple docstring"""






import unittest
from timeit import timeit
def  UpperCamelCase   (     _lowerCAmelCase       :  int,					_lowerCAmelCase       :  int	)			->     int:
	_UpperCAmelCase      :							Tuple       =   first_num if first_num >= second_num else second_num
	_UpperCAmelCase      :							Union[str, Any]       =   max_num
	while (common_mult % first_num > 0) or (common_mult % second_num > 0):
		common_mult += max_num
	return common_mult
def  UpperCamelCase   (     _lowerCAmelCase       :  int,					_lowerCAmelCase       :  int	)			->     int:
	return b if a == 0 else greatest_common_divisor(b % a,					_lowerCAmelCase	)
def  UpperCamelCase   (     _lowerCAmelCase       :  int,					_lowerCAmelCase       :  int	)			->     int:
	return first_num // greatest_common_divisor(_lowerCAmelCase,					_lowerCAmelCase	) * second_num
def  UpperCamelCase   (     )			->     List[Any]:
	_UpperCAmelCase      :							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=_lowerCAmelCase	),					)
	print(
	    """least_common_multiple_fast():""",					timeit("""least_common_multiple_fast(1000, 999)""",					setup=_lowerCAmelCase	),					)






class       _UpperCAmelCase     (						unittest.TestCase):
			__a	:    str			   =							(
			    (1_0, 2_0),
			    (1_3, 1_5),
			    (4, 3_1),
			    (1_0, 4_2),
			    (4_3, 3_4),
			    (5, 1_2),
			    (1_2, 2_5),
			    (1_0, 2_5),
			    (6, 9),
			)
			__a	:    int			   =							(2_0, 1_9_5, 1_2_4, 2_1_0, 1_4_6_2, 6_0, 3_0_0, 5_0, 1_8)
			def 							__snake_case	(						self       )      ->      Optional[int]:






				'''simple docstring'''







				for i, (first_num, second_num) in enumerate(self.test_inputs       ):
					_UpperCAmelCase      :							Dict       =   least_common_multiple_slow(_A ,						_A       )
					_UpperCAmelCase      :							Union[str, Any]       =   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"""






import math
def  UpperCamelCase   (     _lowerCAmelCase       :  int	)			->     bool:

	if 1 < number < 4:
		# 2 and 3 are primes
		return True
	elif number < 2 or number % 2 == 0 or number % 3 == 0:
		# Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
		return False

	# All primes number are in format of 6k +/- 1
	for i in range(5,					int(math.sqrt(_lowerCAmelCase	) + 1	),					6	):
		if number % i == 0 or number % (i + 2) == 0:
			return False
	return True
def  UpperCamelCase   (     _lowerCAmelCase       :  int = 2000000	)			->     int:
	return sum(num for num in range(3,					_lowerCAmelCase,					2	) if is_prime(_lowerCAmelCase	)	) + 2 if n > 2 else 0


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





