
import math

def 					SCREAMING_SNAKE_CASE  (   __UpperCamelCase			:    int							)			->							list:

				"""simple docstring"""







				if n <= 0:
								raise ValueError('''Only positive integers have prime factors'''							)
				A__	:						str								=				[]
				while n % 2 == 0:
								pf.append(2							)
								A__	:						Any								=				int(n / 2							)
				for i in range(3				,    int(math.sqrt(lowercase_							)							) + 1				,    2							):
								while n % i == 0:
												pf.append(lowercase_							)
												A__	:						Dict								=				int(n / i							)
				if n > 2:
								pf.append(lowercase_							)
				return pf

def 					SCREAMING_SNAKE_CASE  (   __UpperCamelCase			:    int							)			->							int:

				"""simple docstring"""







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

def 					SCREAMING_SNAKE_CASE  (   __UpperCamelCase			:    int							)			->							int:

				"""simple docstring"""







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

def 					SCREAMING_SNAKE_CASE  (   __UpperCamelCase			:    int							)			->							int:

				"""simple docstring"""







				A__	:						List[Any]								=				n
				for x in set(prime_factors(lowercase_							)							):
								s *= (x - 1) / x
				return int(lowercase_							)


if __name__ == "__main__":
					import doctest

					doctest.testmod()
"""simple docstring"""







def       A__    (	lowercase_     :	list						)  ->							list:

   for insert_index, insert_value in enumerate(collection[1:]						):
      __lowerCamelCase    		=					insert_index
      while insert_index >= 0 and insert_value < collection[insert_index]:
         __lowerCamelCase    		=					collection[insert_index]
         insert_index -= 1
      if insert_index != temp_index:
         __lowerCamelCase    		=					insert_value
   return collection


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

     testmod()

     _SCREAMING_SNAKE_CASE	:		List[str]   =   input('''Enter numbers separated by a comma:\n''').strip()
     _SCREAMING_SNAKE_CASE	:		Optional[int]   =   [int(item) for item in user_input.split(''',''')]
     print(F"{insertion_sort(unsorted) = }")






