
def  __magic_name__ (   __lowerCAmelCase	:						int = 6008_5147_5143							)			->   int:

				try:
								__lowerCamelCase    					=	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.'''							)
				__lowerCamelCase    					=	2
				__lowerCamelCase    					=	0
				if n == 2:
								return 2
				while n > 2:
								while n % i != 0:
												i += 1
								__lowerCamelCase    					=	i
								while n % i == 0:
												__lowerCamelCase    					=	n // i
								i += 1
				return int(__lowerCAmelCase							)


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





from maths.is_square_free import is_square_free
from maths.prime_factors import prime_factors




def  __magic_name__ (   __lowerCAmelCase	:						int							)			->   int:
				__lowerCamelCase    					=	prime_factors(__lowerCAmelCase							)
				if is_square_free(__lowerCAmelCase							):
								return -1 if len(__lowerCAmelCase							) % 2 else 1
				return 0


if __name__ == "__main__":
					import doctest

					doctest.testmod()



