





"""simple docstring"""




from __future__ import annotations






def    _SCREAMING_SNAKE_CASE	(			_lowercase		:					list      )				->list:






	'''simple docstring'''






	if len(_lowercase      ) == 0:
		return []
	a, a   :	Optional[Any]			=       min(_lowercase      ), max(_lowercase      )
	a   :	Union[str, Any]			=       int(max_value - min_value      ) + 1
	a   :	list[list]			=       [[] for _ in range(_lowercase      )]

	for i in my_list:
		buckets[int(i - min_value      )].append(_lowercase      )

	return [v for bucket in buckets for v in sorted(_lowercase      )]


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

		testmod()
		assert bucket_sort([4, 5, 3, 2, 1]) == [1, 2, 3, 4, 5]
		assert bucket_sort([0, 1, -10, 15, 2, -2]) == [-10, -2, 0, 1, 2, 15]









"""simple docstring"""




def    _SCREAMING_SNAKE_CASE	(			_lowercase		:					int = 200      )				->int:






	'''simple docstring'''






	a   :	Dict			=       [1, 2, 5, 10, 20, 50, 100, 200]
	a   :	Optional[Any]			=       [0] * (pence + 1)
	a   :	List[Any]			=       1  # base case: 1 way to make 0 pence

	for coin in coins:
		for i in range(_lowercase					, pence + 1					, 1      ):
			number_of_ways[i] += number_of_ways[i - coin]
	return number_of_ways[pence]


if __name__ == "__main__":
		assert solution(200) == 73682


