
"""simple docstring"""







from __future__ import annotations
def    __lowerCAmelCase    (_UpperCamelCase	,  _UpperCamelCase	,  _UpperCamelCase	,  _UpperCamelCase		):
	__lowerCAmelCase      :						List[str]						      =				[]
	__lowerCAmelCase      ,       __lowerCAmelCase      :						Dict						      =				input_list[low:mid], input_list[mid : high + 1]
	while left and right:
		result.append((left if left[0] <= right[0] else right).pop(0		)		)
	__lowerCAmelCase      :						Any						      =				result + left + right
	return input_list
def    __lowerCAmelCase    (_UpperCamelCase		):
	if len(_UpperCamelCase		) <= 1:
		return input_list
	__lowerCAmelCase      :						Tuple						      =				list(_UpperCamelCase		)

	# iteration for two-way merging
	__lowerCAmelCase      :						List[Any]						      =				2
	while p <= len(_UpperCamelCase		):
		# getting low, high and middle value for merge-sort of single list
		for i in range(0	,  len(_UpperCamelCase		)	,  _UpperCamelCase		):
			__lowerCAmelCase      :						str						      =				i
			__lowerCAmelCase      :						List[str]						      =				i + p - 1
			__lowerCAmelCase      :						Optional[int]						      =				(low + high + 1) // 2
			__lowerCAmelCase      :						List[str]						      =				merge(_UpperCamelCase	,  _UpperCamelCase	,  _UpperCamelCase	,  _UpperCamelCase		)
		# final merge of last two parts
		if p * 2 >= len(_UpperCamelCase		):
			__lowerCAmelCase      :						List[Any]						      =				i
			__lowerCAmelCase      :						int						      =				merge(_UpperCamelCase	,  0	,  _UpperCamelCase	,  len(_UpperCamelCase		) - 1		)
			break
		p *= 2

	return input_list


if __name__ == "__main__":
							lowerCamelCase__        =		input("""Enter numbers separated by a comma:\n""").strip()
							if user_input == "":
														lowerCamelCase__        =		[]
							else:
														lowerCamelCase__        =		[int(item.strip()) for item in user_input.split(""",""")]
							print(iter_merge_sort(unsorted))

"""simple docstring"""







from .glue import glue_convert_examples_to_features, glue_output_modes, glue_processors, glue_tasks_num_labels
from .squad import SquadExample, SquadFeatures, SquadVaProcessor, SquadVaProcessor, squad_convert_examples_to_features
from .utils import DataProcessor, InputExample, InputFeatures, SingleSentenceClassificationProcessor
from .xnli import xnli_output_modes, xnli_processors, xnli_tasks_num_labels