


def 			__lowerCAmelCase       (SCREAMING_SNAKE_CASE   )->    Optional[int]:




      """simple docstring"""

      snake_case_			= [701, 301, 132, 57, 23, 10, 4, 1]
      for gap in gaps:
            for i in range(SCREAMING_SNAKE_CASE   ,   len(SCREAMING_SNAKE_CASE   )   ):
                  snake_case_			= collection[i]
                  snake_case_			= i
                  while j >= gap and collection[j - gap] > insert_value:
                        snake_case_			= collection[j - gap]
                        j -= gap
                  if j != i:
                        snake_case_			= insert_value
      return collection


if __name__ == "__main__":
   from doctest import testmod

   testmod()
   UpperCAmelCase     =       input("""Enter numbers separated by a comma:\n""").strip()
   UpperCAmelCase     =       [int(item) for item in user_input.split(""",""")]
   print(shell_sort(unsorted))



def 			__lowerCAmelCase       (SCREAMING_SNAKE_CASE   )->    list:




      """simple docstring"""

      snake_case_			= [True for i in range(n + 1   )]
      snake_case_			= [i - 1 for i in range(n + 1   )]
      snake_case_			= []
      for i in range(2   ,   n + 1   ):
            if is_prime[i]:
                  primes.append(SCREAMING_SNAKE_CASE   )
            for j in range(0   ,   len(SCREAMING_SNAKE_CASE   )   ):
                  if i * primes[j] >= n:
                        break
                  snake_case_			= False

                  if i % primes[j] == 0:
                        snake_case_			= totients[i] * primes[j]
                        break

                  snake_case_			= totients[i] * (primes[j] - 1)

      return totients


if __name__ == "__main__":
   import doctest

   doctest.testmod()