
'''simple docstring'''







from functools import lru_cache
@lru_cache
def  snake_case_		(    __SCREAMING_SNAKE_CASE :			int							):



						"""simple docstring"""





						if num < 0:
												raise ValueError('''Number should not be negative.'''							)

						return 1 if num in (0, 1) else num * factorial(num - 1							)


if __name__ == "__main__":
							import doctest

							doctest.testmod()





'''simple docstring'''







from maths.is_square_free import is_square_free
from maths.prime_factors import prime_factors
def  snake_case_		(    __SCREAMING_SNAKE_CASE :			int							):



						"""simple docstring"""





						lowercase_     :					Tuple													=	prime_factors(__SCREAMING_SNAKE_CASE							)
						if is_square_free(__SCREAMING_SNAKE_CASE							):
												return -1 if len(__SCREAMING_SNAKE_CASE							) % 2 else 1
						return 0


if __name__ == "__main__":
							import doctest

							doctest.testmod()



