



'''simple docstring'''




from timeit import timeit



def       a      (			lowerCamelCase__   ):
			'''simple docstring'''





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



def       a      (			lowerCamelCase__   ):
			'''simple docstring'''





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



def       a      (			):
			'''simple docstring'''





			def do_benchmark(lowerCamelCase__   ) -> None:
						A_     :						Any     =					"""import __main__ as z"""
						print(f'Benchmark when {number = }:'   )
						print(f'{get_set_bits_count_using_modulo_operator(lowerCamelCase__   ) = }'   )
						A_     :						str     =					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__   ) = }'   )
						A_     :						List[str]     =					timeit(
						    """z.get_set_bits_count_using_brian_kernighans_algorithm(25)"""						,				setup=lowerCamelCase__						,				)
						print(f'timeit() runs in {timing} seconds'   )

			for number in (25, 37, 58, 0):
						do_benchmark(lowerCamelCase__   )
						print()


if __name__ == "__main__":
						import doctest

						doctest.testmod()
						benchmark()




'''simple docstring'''




def      a      (			lowerCamelCase__   ):
			'''simple docstring'''





			return " ".join(input_str.split()[::-1]   )


if __name__ == "__main__":
						import doctest

						doctest.testmod()