

import math



def  lowercase    (				SCREAMING_SNAKE_CASE__    :		int			)					->       list:



 if n <= 0:
  raise ValueError("""Only positive integers have prime factors"""			)
 _snake_case      :					Optional[Any]					=   []
 while n % 2 == 0:
  pf.append(2			)
  _snake_case      :					Any					=   int(n / 2			)
 for i in range(3			,    int(math.sqrt(UpperCamelCase_			)			) + 1			,    2			):
  while n % i == 0:
   pf.append(UpperCamelCase_			)
   _snake_case      :					Tuple					=   int(n / i			)
 if n > 2:
  pf.append(UpperCamelCase_			)
 return pf



def  lowercase    (				SCREAMING_SNAKE_CASE__    :		int			)					->       int:



 if n <= 0:
  raise ValueError("""Only positive numbers are accepted"""			)
 _snake_case      :					str					=   1
 _snake_case      :					Any					=   1
 while n % 2 == 0:
  temp += 1
  _snake_case      :					Union[str, Any]					=   int(n / 2			)
 div *= temp
 for i in range(3			,    int(math.sqrt(UpperCamelCase_			)			) + 1			,    2			):
  _snake_case      :					Union[str, Any]					=   1
  while n % i == 0:
   temp += 1
   _snake_case      :					str					=   int(n / i			)
  div *= temp
 if n > 1:
  div *= 2
 return div



def  lowercase    (				SCREAMING_SNAKE_CASE__    :		int			)					->       int:



 if n <= 0:
  raise ValueError("""Only positive numbers are accepted"""			)
 _snake_case      :					Optional[Any]					=   1
 _snake_case      :					List[str]					=   1
 while n % 2 == 0:
  temp += 1
  _snake_case      :					Optional[Any]					=   int(n / 2			)
 if temp > 1:
  s *= (2**temp - 1) / (2 - 1)
 for i in range(3			,    int(math.sqrt(UpperCamelCase_			)			) + 1			,    2			):
  _snake_case      :					Tuple					=   1
  while n % i == 0:
   temp += 1
   _snake_case      :					Union[str, Any]					=   int(n / i			)
  if temp > 1:
   s *= (i**temp - 1) / (i - 1)
 return int(UpperCamelCase_			)



def  lowercase    (				SCREAMING_SNAKE_CASE__    :		int			)					->       int:
 _snake_case      :					int					=   n
 for x in set(prime_factors(UpperCamelCase_			)			):
  s *= (x - 1) / x
 return int(UpperCamelCase_			)


if __name__ == "__main__":
  import doctest

  doctest.testmod()





def  lowercase    (				SCREAMING_SNAKE_CASE__    :		Any			)					->       Optional[int]:
 _snake_case      :					Any					=   [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      :					List[Any]					=   collection[i]
   _snake_case      :					List[str]					=   i
   while j >= gap and collection[j - gap] > insert_value:
    _snake_case      :					int					=   collection[j - gap]
    j -= gap
   if j != i:
    _snake_case      :					Tuple					=   insert_value
 return collection


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

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