


import copy
from dataclasses import dataclass
from pathlib import Path
from typing import Dict, Optional, Union







@dataclass
class 		_snake_case  :
 SCREAMING_SNAKE_CASE__      =       None
 SCREAMING_SNAKE_CASE__      =       False
 SCREAMING_SNAKE_CASE__      =       False
 SCREAMING_SNAKE_CASE__      =       False
 SCREAMING_SNAKE_CASE__      =       None
 SCREAMING_SNAKE_CASE__      =       None
 SCREAMING_SNAKE_CASE__      =       False
 SCREAMING_SNAKE_CASE__      =       False
 SCREAMING_SNAKE_CASE__      =       False
 SCREAMING_SNAKE_CASE__      =       True
 SCREAMING_SNAKE_CASE__      =       None
 SCREAMING_SNAKE_CASE__      =       1
 SCREAMING_SNAKE_CASE__      =       None
 SCREAMING_SNAKE_CASE__      =       False
 SCREAMING_SNAKE_CASE__      =       None
 SCREAMING_SNAKE_CASE__      =       None




 def        SCREAMING_SNAKE_CASE__				(		self    ):
       return self.__class__(**{k: copy.deepcopy(_lowerCamelCase    ) for k, v in self.__dict__.items()}    )









from maths.prime_factors import prime_factors
def 				__lowerCamelCase						( UpperCAmelCase_						:		int						):




      """simple docstring"""





      if not isinstance(UpperCAmelCase_ ,  UpperCAmelCase_						):
            a						:Dict 							=       F'''Input value of [number={number}] must be an integer'''
            raise TypeError(UpperCAmelCase_						)
      if number < 1:
            raise ValueError('''Input must be a positive integer'''						)
      return -1 if len(prime_factors(UpperCAmelCase_						)						) % 2 else 1


if __name__ == "__main__":
     import doctest

     doctest.testmod()





