"""simple docstring"""



import re

from filelock import FileLock


try:
				import nltk

				_UpperCamelCase								=		True
except (ImportError, ModuleNotFoundError):
				_UpperCamelCase								=		False

if NLTK_AVAILABLE:
				with FileLock(".lock") as lock:
								nltk.download("punkt", quiet=True)

def  _A(		lowerCAmelCase							):
							re.sub("""<n>"""			,  """"""			,  lowerCAmelCase							)  # remove pegasus newline char
							assert NLTK_AVAILABLE, "nltk must be installed to separate newlines between sentences. (pip install nltk)"
							return "\n".join(nltk.sent_tokenize(lowerCAmelCase							)							)






"""simple docstring"""



from __future__ import annotations

def  _A(		lowerCAmelCase							):
							if len(lowerCAmelCase							) == 0:
														return []
							A__				,							A__       :     Dict								=			min(lowerCAmelCase							), max(lowerCAmelCase							)
							A__       :     List[Any]								=			int(max_value - min_value							) + 1
							A__       :     list[list]								=			[[] for _ in range(lowerCAmelCase							)]

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

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


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]





