



def    _lowerCAmelCase    (_lowerCAmelCase   ,	_lowerCAmelCase):
					while a != 0:
										UpperCamelCase_  ,    UpperCamelCase_		  =   b % a, a
					return b






def    _lowerCAmelCase    (_lowerCAmelCase   ,	_lowerCAmelCase):
					if gcd(_lowerCAmelCase   ,	_lowerCAmelCase) != 1:
										UpperCamelCase_		  =   f"""mod inverse of {a!r} and {m!r} does not exist"""
										raise ValueError(_lowerCAmelCase)
					UpperCamelCase_  ,    UpperCamelCase_  ,    UpperCamelCase_		  =   1, 0, a
					UpperCamelCase_  ,    UpperCamelCase_  ,    UpperCamelCase_		  =   0, 1, m
					while va != 0:
										UpperCamelCase_		  =   ua // va
										UpperCamelCase_  ,    UpperCamelCase_  ,    UpperCamelCase_  ,    UpperCamelCase_  ,    UpperCamelCase_  ,    UpperCamelCase_		  =   (ua - q * va), (ua - q * va), (ua - q * va), va, va, va
					return ua % m





def    _lowerCAmelCase    (_lowerCAmelCase = 60_08_51_47_51_43):

					try:
										UpperCamelCase_		  =   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.")
					UpperCamelCase_		  =   1
					UpperCamelCase_		  =   2
					while i * i <= n:
										while n % i == 0:
															UpperCamelCase_		  =   i
															n //= i
										i += 1
					if n > 1:
										UpperCamelCase_		  =   n
					return int(_lowerCAmelCase)


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