



'''simple docstring'''






def 				_SCREAMING_SNAKE_CASE(					snake_case_    :     Optional[int] ,       snake_case_    :     Dict  )		->List[str]:






							'''simple docstring'''
							if n < 0:
														return 0
							# table[i] represents the number of ways to get to amount i
							_lowercase							:		List[Any]				=   [0] * (n + 1)

							# There is exactly 1 way to get to zero(You pick no coins).
							_lowercase							:		str				=   1

							# Pick all coins one by one and update table[] values
							# after the index greater than or equal to the value of the
							# picked coin
							for coin_val in s:
														for j in range(snake_case_ ,       n + 1  ):
																					table[j] += table[j - coin_val]

							return table[n]


if __name__ == "__main__":
						import doctest

						doctest.testmod()








'''simple docstring'''






def 				_SCREAMING_SNAKE_CASE(					snake_case_    :     List[str]  )		->Dict:






							'''simple docstring'''
							_lowercase							:		Optional[Any]				=   [7_01, 3_01, 1_32, 57, 23, 10, 4, 1]
							for gap in gaps:
														for i in range(snake_case_ ,       len(snake_case_  )  ):
																					_lowercase							:		int				=   collection[i]
																					_lowercase							:		Any				=   i
																					while j >= gap and collection[j - gap] > insert_value:
																												_lowercase							:		Optional[int]				=   collection[j - gap]
																												j -= gap
																					if j != i:
																												_lowercase							:		str				=   insert_value
							return collection


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

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



