
'''simple docstring'''






def 		SCREAMING_SNAKE_CASE__					(							_SCREAMING_SNAKE_CASE  ):
		lowerCAmelCase_   :       str    							=[701, 301, 132, 57, 23, 10, 4, 1]
		for gap in gaps:
				for i in range(_SCREAMING_SNAKE_CASE  ,					len(_SCREAMING_SNAKE_CASE  )  ):
						lowerCAmelCase_   :       str    							=collection[i]
						lowerCAmelCase_   :       int    							=i
						while j >= gap and collection[j - gap] > insert_value:
								lowerCAmelCase_   :       Dict    							=collection[j - gap]
								j -= gap
						if j != i:
								lowerCAmelCase_   :       List[str]    							=insert_value
		return collection


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

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








'''simple docstring'''






from __future__ import annotations







def 		SCREAMING_SNAKE_CASE__					(							_SCREAMING_SNAKE_CASE  ,					_SCREAMING_SNAKE_CASE  ,					_SCREAMING_SNAKE_CASE  ):
		if len(_SCREAMING_SNAKE_CASE  ) == 0:
				raise ValueError('''find_min() arg is an empty sequence'''  )
		if (
		    left >= len(_SCREAMING_SNAKE_CASE  )
		    or left < -len(_SCREAMING_SNAKE_CASE  )
		    or right >= len(_SCREAMING_SNAKE_CASE  )
		    or right < -len(_SCREAMING_SNAKE_CASE  )
		):
				raise IndexError('''list index out of range'''  )
		if left == right:
				return nums[left]
		lowerCAmelCase_   :       Dict    							=(left + right) >> 1  # the middle
		lowerCAmelCase_   :       Optional[int]    							=find_min(_SCREAMING_SNAKE_CASE  ,					_SCREAMING_SNAKE_CASE  ,					_SCREAMING_SNAKE_CASE  )  # find min in range[left, mid]
		lowerCAmelCase_   :       Any    							=find_min(_SCREAMING_SNAKE_CASE  ,					mid + 1  ,					_SCREAMING_SNAKE_CASE  )  # find min in range[mid + 1, right]

		return left_min if left_min <= right_min else right_min


if __name__ == "__main__":
							import doctest

							doctest.testmod(verbose=True)






