


'''simple docstring'''




from maths.prime_factors import prime_factors





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


if __name__ == "__main__":
       import doctest

       doctest.testmod()









'''simple docstring'''




class 		UpperCAmelCase_      :





     def __init__( self       :      List[str]    ,      UpperCAmelCase__       :      list[int]    )				->  None:
        lowerCAmelCase     =			len(UpperCAmelCase__    )
        lowerCAmelCase     =			[0] * len_array

        if len_array > 0:
           lowerCAmelCase     =			array[0]

        for i in range(1    ,      UpperCAmelCase__    ):
           lowerCAmelCase     =			self.prefix_sum[i - 1] + array[i]





     def 							__UpperCAmelCase      ( self       :      Optional[Any]    ,      UpperCAmelCase__       :      int    ,      UpperCAmelCase__       :      int    )				->  int:
        if start == 0:
           return self.prefix_sum[end]

        return self.prefix_sum[end] - self.prefix_sum[start - 1]





     def 							__UpperCAmelCase      ( self       :      int    ,      UpperCAmelCase__       :      int    )				->  bool:
        lowerCAmelCase     =			{0}
        for sum_item in self.prefix_sum:
           if sum_item - target_sum in sums:
              return True

           sums.add(UpperCAmelCase__    )

        return False


if __name__ == "__main__":
       import doctest

       doctest.testmod()





