




from __future__ import annotations





def 	__A	(			__lowerCamelCase							,    __lowerCamelCase							,    __lowerCamelCase					)   -> tuple[float, float]:
	assert (
	    c % greatest_common_divisor(__lowerCamelCase							,    __lowerCamelCase					) == 0
	)  # greatest_common_divisor(a,b) function implemented below
	((a)       ,				(a)       ,				(a))		       =							extended_gcd(__lowerCamelCase							,    __lowerCamelCase					)  # extended_gcd(a,b) function implemented below
	a		       =							c / d
	return (r * x, r * y)





def 	__A	(			__lowerCamelCase							,    __lowerCamelCase							,    __lowerCamelCase							,    __lowerCamelCase = 2					)   -> None:
	((a)       ,				(a))		       =							diophantine(__lowerCamelCase							,    __lowerCamelCase							,    __lowerCamelCase					)  # Initial value
	a		       =							greatest_common_divisor(__lowerCamelCase							,    __lowerCamelCase					)
	a		       =							a // d
	a		       =							b // d

	for i in range(__lowerCamelCase					):
		a		       =							xa + i * q
		a		       =							ya - i * p
		print(__lowerCamelCase							,    __lowerCamelCase					)





def 	__A	(			__lowerCamelCase							,    __lowerCamelCase					)   -> int:
	if a < b:
		a       ,				a		       =							b, a

	while a % b != 0:
		a       ,				a		       =							b, a % b

	return b





def 	__A	(			__lowerCamelCase							,    __lowerCamelCase					)   -> tuple[int, int, int]:
	assert a >= 0 and b >= 0

	if b == 0:
		a       ,				a       ,				a		       =							a, 1, 0
	else:
		((a)       ,				(a)       ,				(a))		       =							extended_gcd(__lowerCamelCase							,    a % b					)
		a		       =							q
		a		       =							p - q * (a // b)

	assert a % d == 0 and b % d == 0
	assert d == a * x + b * y

	return (d, x, y)


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

		testmod(name="diophantine", verbose=True)
		testmod(name="diophantine_all_soln", verbose=True)
		testmod(name="extended_gcd", verbose=True)
		testmod(name="greatest_common_divisor", verbose=True)







import math





def 	__A	(			__lowerCamelCase					)   -> 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 	__A	(			__lowerCamelCase = 6008_5147_5143					)   -> int:

	try:
		a		       =							int(__lowerCamelCase					)
	except (TypeError, ValueError):
		raise TypeError("""Parameter n must be int or castable to int."""					)
	if n <= 0:
		raise ValueError("""Parameter n must be greater than or equal to one."""					)
	a		       =							0
	if is_prime(__lowerCamelCase					):
		return n
	while n % 2 == 0:
		n //= 2
	if is_prime(__lowerCamelCase					):
		return n
	for i in range(3							,    int(math.sqrt(__lowerCamelCase					)					) + 1							,    2					):
		if n % i == 0:
			if is_prime(n // i					):
				a		       =							n // i
				break
			elif is_prime(__lowerCamelCase					):
				a		       =							i
	return max_number


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

