import math


def 				lowerCAmelCase__       (			a__ )      ->bool:




  '''simple docstring'''

  return math.sqrt(a__ ) * math.sqrt(a__ ) == num


def 				lowerCAmelCase__       (			a__ )      ->bool:




  '''simple docstring'''

  _UpperCamelCase           =    0
  _UpperCamelCase           =    n
  while left <= right:
    _UpperCamelCase           =    (left + right) // 2
    if mid**2 == n:
      return True
    elif mid**2 > n:
      _UpperCamelCase           =    mid - 1
    else:
      _UpperCamelCase           =    mid + 1
  return False


if __name__ == "__main__":
   import doctest

   doctest.testmod()





def 				lowerCAmelCase__       (			a__ )      ->int:




  '''simple docstring'''

  if not isinstance(a__    ,     a__ ) 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()




