




UpperCamelCase__		=						[0.485, 0.456, 0.406]
UpperCamelCase__		=						[0.229, 0.224, 0.225]
UpperCamelCase__		=						[0.5, 0.5, 0.5]
UpperCamelCase__		=						[0.5, 0.5, 0.5]
UpperCamelCase__		=						[0.48_145_466, 0.4_578_275, 0.40_821_073]
UpperCamelCase__		=						[0.26_862_954, 0.26_130_258, 0.27_577_711]






from __future__ import annotations






def  snake_case (							A						,       A      )							->							Union[str, Any]:




	'''simple docstring'''


	lowerCamelCase_							:		Tuple							       =							0
	lowerCamelCase_							:		str							       =							len(A      ) - 1
	while left <= right:
		lowerCamelCase_							:		str							       =							(left + right) // 2
		if left == right:
			if sorted_list[middle] < item:
				lowerCamelCase_							:		List[Any]							       =							middle + 1
			break
		elif sorted_list[middle] < item:
			lowerCamelCase_							:		Any							       =							middle + 1
		else:
			lowerCamelCase_							:		Optional[int]							       =							middle - 1
	sorted_list.insert(A						,       A      )
	return sorted_list






def  snake_case (							A						,       A      )							->							Union[str, Any]:




	'''simple docstring'''


	lowerCamelCase_							:		List[Any]							       =							[]
	while left and right:
		if left[0][0] < right[0][0]:
			result.append(left.pop(0      )      )
		else:
			result.append(right.pop(0      )      )
	return result + left + right






def  snake_case (							A      )							->							Any:




	'''simple docstring'''


	lowerCamelCase_							:		List[Any]							       =							len(A      )
	if length <= 1:
		return list_ad
	lowerCamelCase_							:		Any							       =							length // 2
	return merge(sortlist_ad(list_ad[:middle]      )						,       sortlist_ad(list_ad[middle:]      )      )






def  snake_case (							A      )							->							list[int]:




	'''simple docstring'''


	if len(A      ) <= 1:
		return collection
	lowerCamelCase_							:		Tuple							       =							[]
	lowerCamelCase_							:		int							       =							False
	for i in range(0						,       len(A      )						,       2      ):
		if i == len(A      ) - 1:
			lowerCamelCase_							:		Any							       =							True
		else:
			if collection[i] < collection[i + 1]:
				two_paired_list.append([collection[i], collection[i + 1]]      )
			else:
				two_paired_list.append([collection[i + 1], collection[i]]      )
	lowerCamelCase_							:		Union[str, Any]							       =							sortlist_ad(A      )
	lowerCamelCase_							:		int							       =							[i[0] for i in sorted_list_ad]
	result.append(sorted_list_ad[-1][1]      )
	if has_last_odd_item:
		lowerCamelCase_							:		List[str]							       =							collection[-1]
		lowerCamelCase_							:		Optional[Any]							       =							binary_search_insertion(A						,       A      )
	lowerCamelCase_							:		Optional[Any]							       =							False
	for i in range(len(A      ) - 1      ):
		if result[i] == collection[-1] and has_last_odd_item:
			lowerCamelCase_							:		Optional[Any]							       =							True
		lowerCamelCase_							:		Dict							       =							sorted_list_ad[i][1]
		# If last_odd_item is inserted before the item's index,
		# you should forward index one more.
		if is_last_odd_item_inserted_before_this_index:
			lowerCamelCase_							:		Dict							       =							result[: i + 2] + binary_search_insertion(result[i + 2 :]						,       A      )
		else:
			lowerCamelCase_							:		str							       =							result[: i + 1] + binary_search_insertion(result[i + 1 :]						,       A      )

	return result


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