



def 					__lowerCAmelCase		(  __lowerCamelCase	:    list	)  ->						list:
					__lowerCAmelCase	   =len(__lowerCamelCase	)
					for i in range(1				,   __lowerCamelCase	):
										__lowerCAmelCase	   =collection[i]
										__lowerCAmelCase	   =0
										__lowerCAmelCase	   =i - 1

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


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









import os
from typing import Dict, List, Tuple, TypeVar, Union


lowercase_	       =			TypeVar('''T''')

lowercase_	       =			Union[List[T], Tuple[T, ...]]
lowercase_	       =			Union[T, List[T], Dict[str, T]]
lowercase_	       =			Union[str, bytes, os.PathLike]




