
from __future__ import annotations

def  __snake_case							(	__magic_name__		,    __magic_name__		,    __magic_name__						):







				'''simple docstring'''


				lowercase         =      list(range(len(__magic_name__						)						)						)
				lowercase         =      [v / w for v, w in zip(__magic_name__		,    __magic_name__						)]
				index.sort(key=lambda __magic_name__						: ratio[i]		,    reverse=__magic_name__						)

				lowercase         =      0
				lowercase         =      [0] * len(__magic_name__						)
				for i in index:
								if weight[i] <= capacity:
												lowercase         =      1
												max_value += value[i]
												capacity -= weight[i]
								else:
												lowercase         =      capacity / weight[i]
												max_value += value[i] * capacity / weight[i]
												break

				return max_value, fractions


if __name__ == "__main__":
						import doctest

						doctest.testmod()


from __future__ import annotations

def  __snake_case							(	__magic_name__						):







				'''simple docstring'''


				if len(__magic_name__						) == 0:
								return []
				lowercase     ,	lowercase         =      min(__magic_name__						), max(__magic_name__						)
				lowercase         =      int(max_value - min_value						) + 1
				lowercase         =      [[] for _ in range(__magic_name__						)]

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

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


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]
