
def 	lowerCamelCase__		(	__lowercase       :     Tuple			)			->  Union[str, Any]:
			# if the collection is empty, returns empty
			if collection == []:
						return []

			# get some information about the collection
			_snake_case          =      len(__lowercase			)
			_snake_case          =      max(__lowercase			)
			_snake_case          =      min(__lowercase			)

			# create the counting array
			_snake_case          =      coll_max + 1 - coll_min
			_snake_case          =      [0] * counting_arr_length

			# count how much a number appears in the collection
			for number in collection:
						counting_arr[number - coll_min] += 1

			# sum each position with it's predecessors. now, counting_arr[i] tells
			# us how many elements <= i has in the collection
			for i in range(1	, __lowercase			):
						_snake_case          =      counting_arr[i] + counting_arr[i - 1]

			# create the output collection
			_snake_case          =      [0] * coll_len

			# place the elements in the output, respecting the original order (stable
			# sort) from end to begin, updating counting_arr
			for i in reversed(range(0	, __lowercase			)			):
						_snake_case          =      collection[i]
						counting_arr[collection[i] - coll_min] -= 1

			return ordered






def 	lowerCamelCase__		(	__lowercase       :     str			)			->  int:
			return "".join([chr(__lowercase			) for i in counting_sort([ord(__lowercase			) for c in string]			)]			)


if __name__ == "__main__":
			# Test string sort
			assert counting_sort_string('''thisisthestring''') == "eghhiiinrsssttt"

			_lowerCamelCase	:    Dict          =      input('''Enter numbers separated by a comma:\n''').strip()
			_lowerCamelCase	:    Optional[Any]          =      [int(item) for item in user_input.split(''',''')]
			print(counting_sort(unsorted))

from functools import lru_cache






@lru_cache
def 	a_		(	__lowercase       :     int			)			->  int:
			if num < 0:
						raise ValueError('Number should not be negative.'			)

			return 1 if num in (0, 1) else num * factorial(num - 1			)


if __name__ == "__main__":
			import doctest

			doctest.testmod()