
import re

from filelock import FileLock


try:
					import nltk

					_UpperCAmelCase					: Optional[int]      =       True
except (ImportError, ModuleNotFoundError):
					_UpperCAmelCase					: Any      =       False

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


def       A       (					lowercase )   ->  str:
		'''simple docstring'''

		re.sub('<n>'    ,       ''    ,       lowercase )  # 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(lowercase ) )


def       A       (					lowercase )   ->  list:
		'''simple docstring'''

		UpperCamelCase		=     len(lowercase )
		for i in range(1    ,       lowercase ):
				UpperCamelCase		=     collection[i]
				UpperCamelCase		=     0
				UpperCamelCase		=     i - 1

				while low <= high:
						UpperCamelCase		=     (low + high) // 2
						if val < collection[mid]:
								UpperCamelCase		=     mid - 1
						else:
								UpperCamelCase		=     mid + 1
				for j in range(lowercase    ,       lowercase    ,       -1 ):
						UpperCamelCase		=     collection[j - 1]
				UpperCamelCase		=     val
		return collection


if __name__ == "__main__":
					_UpperCAmelCase					: List[Any]      =       input("Enter numbers separated by a comma:\n").strip()
					_UpperCAmelCase					: Optional[int]      =       [int(item) for item in user_input.split(",")]
					print(binary_insertion_sort(unsorted))
