

from maths.prime_factors import prime_factors

def  SCREAMING_SNAKE_CASE							(       __UpperCamelCase)      ->					int:
     if not isinstance(a_		, a_):
          a     =				f'''Input value of [number={number}] must be an integer'''
          raise TypeError(a_)
     if number < 1:
          raise ValueError("Input must be a positive integer")
     return -1 if len(prime_factors(a_)) % 2 else 1


if __name__ == "__main__":
   import doctest

   doctest.testmod()







import math
import sys

def  SCREAMING_SNAKE_CASE							(       __UpperCamelCase)      ->					int:
     if number != int(__UpperCamelCase):
          raise ValueError("the value of input must be a natural number")
     if number < 0:
          raise ValueError("the value of input must not be a negative number")
     if number == 0:
          return 1
     a     =				[-1] * (number + 1)
     a     =				0
     for i in range(1		, number + 1):
          a     =				sys.maxsize
          a     =				int(math.sqrt(__UpperCamelCase))
          for j in range(1		, root + 1):
               a     =				1 + answers[i - (j**2)]
               a     =				min(__UpperCamelCase		, __UpperCamelCase)
          a     =				answer
     return answers[number]


if __name__ == "__main__":
   import doctest

   doctest.testmod()

