


def   _lowercase(					__a				:						list     ):
							a__      =len(__a     )
							for i in range(1    ,     __a     ):
														a__      =collection[i]
														a__      =0
														a__      =i - 1

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


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







def lowercase    (  SCREAMING_SNAKE_CASE )			->							int:


			'''simple docstring'''







			if not numbers:
						return 0

			if not isinstance(SCREAMING_SNAKE_CASE       ,    (list, tuple) ) or not all(
			    isinstance(SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE ) for number in numbers ):
						raise ValueError('numbers must be an iterable of integers' )

			SCREAMING_SNAKE_CASE_								=						SCREAMING_SNAKE_CASE_								=						SCREAMING_SNAKE_CASE_								=						numbers[0]

			for i in range(1       ,    len(SCREAMING_SNAKE_CASE ) ):
						# update the maximum and minimum subarray products
						SCREAMING_SNAKE_CASE_								=						numbers[i]
						if number < 0:
									SCREAMING_SNAKE_CASE_						,		SCREAMING_SNAKE_CASE_								=						min_till_now, max_till_now
						SCREAMING_SNAKE_CASE_								=						max(SCREAMING_SNAKE_CASE       ,    max_till_now * number )
						SCREAMING_SNAKE_CASE_								=						min(SCREAMING_SNAKE_CASE       ,    min_till_now * number )

						# update the maximum product found till now
						SCREAMING_SNAKE_CASE_								=						max(SCREAMING_SNAKE_CASE       ,    SCREAMING_SNAKE_CASE )

			return max_prod
