



"""simple docstring"""


def  _lowerCAmelCase      (   lowercase_		,	lowercase_						):
						if b == 0:
												return 1
						if (b % 2) == 0:
												return actual_power(lowercase_		,	int(b / 2						)						) * actual_power(lowercase_		,	int(b / 2						)						)
						else:
												return a * actual_power(lowercase_		,	int(b / 2						)						) * actual_power(lowercase_		,	int(b / 2						)						)

def  _lowerCAmelCase      (   lowercase_		,	lowercase_						):
						if b < 0:
												return 1 / actual_power(lowercase_		,	lowercase_						)
						return actual_power(lowercase_		,	lowercase_						)


if __name__ == "__main__":
				print(power(-2, -3))












'''simple docstring'''




def 	UpperCAmelCase_							(					__lowercase							:      int       )		->       int:


     '''simple docstring'''



     if not isinstance(__lowercase			,     __lowercase       ) or number < 0:
          raise ValueError("Input must be a non-negative integer"       )

     _UpperCAmelCase     							=   0
     while number:
          # This way we arrive at next set bit (next 1) instead of looping
          # through each bit and checking for 1s hence the
          # loop won't run 32 times it will only run the number of `1` times
          number &= number - 1
          count += 1
     return count


if __name__ == "__main__":
  import doctest

  doctest.testmod()




