"""simple docstring"""







from maths.prime_factors import prime_factors



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


if __name__ == "__main__":
       import doctest

       doctest.testmod()


"""simple docstring"""







def 			lowercase__(       __SCREAMING_SNAKE_CASE							:     list      ):

     if len(__SCREAMING_SNAKE_CASE      ) < 2:
          return collection

     def circle_sort_util(__SCREAMING_SNAKE_CASE							:     list     ,			__SCREAMING_SNAKE_CASE							:     int     ,			__SCREAMING_SNAKE_CASE							:     int      ) -> bool:
          lowercase_	:				Any													=	False

          if low == high:
               return swapped

          lowercase_	:				str													=	low
          lowercase_	:				int													=	high

          while left < right:
               if collection[left] > collection[right]:
                    lowercase_							,  lowercase_	:				Optional[Any]													=	(
                        collection[right],
                        collection[left],
                    )
                    lowercase_	:				Tuple													=	True

               left += 1
               right -= 1

          if left == right and collection[left] > collection[right + 1]:
               lowercase_							,  lowercase_	:				Dict													=	(
                   collection[right + 1],
                   collection[left],
               )

               lowercase_	:				str													=	True

          lowercase_	:				Optional[Any]													=	low + int((high - low) / 2      )
          lowercase_	:				str													=	circle_sort_util(__SCREAMING_SNAKE_CASE     ,			__SCREAMING_SNAKE_CASE     ,			__SCREAMING_SNAKE_CASE      )
          lowercase_	:				List[Any]													=	circle_sort_util(__SCREAMING_SNAKE_CASE     ,			mid + 1     ,			__SCREAMING_SNAKE_CASE      )

          return swapped or left_swap or right_swap

     lowercase_	:				Dict													=	True

     while is_not_sorted is True:
          lowercase_	:				Optional[Any]													=	circle_sort_util(__SCREAMING_SNAKE_CASE     ,			0     ,			len(__SCREAMING_SNAKE_CASE      ) - 1      )

     return collection


if __name__ == "__main__":
       __SCREAMING_SNAKE_CASE    	=input("Enter numbers separated by a comma:\n").strip()
       __SCREAMING_SNAKE_CASE    	=[int(item) for item in user_input.split(",")]
       print(circle_sort(unsorted))

