






"""simple docstring"""

from timeit import timeit






def _lowerCAmelCase	(  __lowerCamelCase:int   ):

						'''simple docstring'''






						if number < 0:
												raise ValueError("the value of input must not be negative"   )
						__magic_name__            =     0
						while number:
												number &= number - 1
												result += 1
						return result






def _lowerCAmelCase	(  __lowerCamelCase:int   ):

						'''simple docstring'''






						if number < 0:
												raise ValueError("the value of input must not be negative"   )
						__magic_name__            =     0
						while number:
												if number % 2 == 1:
																		result += 1
												number >>= 1
						return result






def _lowerCAmelCase	(  ):

						'''simple docstring'''






						def do_benchmark(__lowerCamelCase:int   ) -> None:
												__magic_name__            =     'import __main__ as z'
												print(f'''Benchmark when {number = }:'''   )
												print(f'''{get_set_bits_count_using_modulo_operator(lowerCAmelCase__   ) = }'''   )
												__magic_name__            =     timeit("z.get_set_bits_count_using_modulo_operator(25)" ,						setup=lowerCAmelCase__   )
												print(f'''timeit() runs in {timing} seconds'''   )
												print(f'''{get_set_bits_count_using_brian_kernighans_algorithm(lowerCAmelCase__   ) = }'''   )
												__magic_name__            =     timeit(
												    "z.get_set_bits_count_using_brian_kernighans_algorithm(25)" ,						setup=lowerCAmelCase__ ,						)
												print(f'''timeit() runs in {timing} seconds'''   )

						for number in (2_5, 3_7, 5_8, 0):
												do_benchmark(lowerCAmelCase__   )
												print()


if __name__ == "__main__":
			import doctest

			doctest.testmod()
			benchmark()











"""simple docstring"""

def _lowerCAmelCase	(  __lowerCamelCase:list   ):

						'''simple docstring'''






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

												while low <= high:
																		__magic_name__            =     (low + high) // 2
																		if val < collection[mid]:
																								__magic_name__            =     mid - 1
																		else:
																								__magic_name__            =     mid + 1
												for j in range(__lowerCamelCase ,						__lowerCamelCase ,						-1   ):
																		__magic_name__            =     collection[j - 1]
												__magic_name__            =     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))



