from maths.prime_factors import prime_factors







def     _a				(      lowercase__  :			int ):







     '''simple docstring'''


     if not isinstance(a_     ,  a_ ):
          __A				:				Tuple			=		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







def     _a				(      lowercase__  :			int ):







     '''simple docstring'''


     assert isinstance(lowercase__     ,  lowercase__ ) and (
         number >= 0
     ), "'number' must been an int and positive"

     if 1 < number < 4:
          # 2 and 3 are primes
          return True
     elif number < 2 or not number % 2:
          # Negatives, 0, 1 and all even numbers are not primes
          return False

     SCREAMING_SNAKE_CASE__				:				Tuple			=		range(3     ,  int(math.sqrt(lowercase__ ) + 1 )     ,  2 )
     return not any(not number % i for i in odd_numbers )







def     _a				(      lowercase__  :			List[str]     ,  lowercase__  :			Any=1     ,  **lowercase__  :			Any ):







     '''simple docstring'''


     SCREAMING_SNAKE_CASE__				:				int			=		factor * value
     SCREAMING_SNAKE_CASE__				:				Dict			=		value

     while not is_prime(lowercase__ ):
          value += 1 if not ("desc" in kwargs and kwargs["desc"] is True) else -1

     if value == first_value_val:
          return next_prime(value + 1     ,  **lowercase__ )
     return value



