from timeit import timeit


def 	lowerCamelCase					(	UpperCamelCase     :				int							)   ->    int:
		if number < 0:
				raise ValueError('the value of input must not be negative'							)
		_lowerCamelCase				   =  0
		while number:
				number &= number - 1
				result += 1
		return result


def 	lowerCamelCase					(	UpperCamelCase     :				int							)   ->    int:
		if number < 0:
				raise ValueError('the value of input must not be negative'							)
		_lowerCamelCase				   =  0
		while number:
				if number % 2 == 1:
						result += 1
				number >>= 1
		return result


def 	lowerCamelCase					(	)   ->    None:

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

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


if __name__ == "__main__":
				import doctest

				doctest.testmod()
				benchmark()
def 	lowerCamelCase					(	UpperCamelCase     :				int = 60_08_51_47_51_43							)   ->    int:

		try:
				_lowerCamelCase				   =  int(UpperCamelCase							)
		except (TypeError, ValueError):
				raise TypeError('Parameter n must be int or castable to int.'							)
		if n <= 0:
				raise ValueError('Parameter n must be greater than or equal to one.'							)
		_lowerCamelCase				   =  1
		_lowerCamelCase				   =  2
		while i * i <= n:
				while n % i == 0:
						_lowerCamelCase				   =  i
						n //= i
				i += 1
		if n > 1:
				_lowerCamelCase				   =  n
		return int(UpperCamelCase							)


if __name__ == "__main__":
				print(F'''{solution() = }''')