


def 				__lowerCamelCase						( UpperCAmelCase_						:		list ,  UpperCAmelCase_						:		int ,  UpperCAmelCase_						:		int = 0 ,  UpperCAmelCase_						:		int = 0						):




      """simple docstring"""





      a						:List[str] 							=       right or len(UpperCAmelCase_						) - 1
      if left > right:
            return -1
      elif list_data[left] == key:
            return left
      elif list_data[right] == key:
            return right
      else:
            return search(UpperCAmelCase_ ,  UpperCAmelCase_ ,  left + 1 ,  right - 1						)


if __name__ == "__main__":
     import doctest

     doctest.testmod()












def lowerCamelCase__    (							snake_case_	:  int       )      ->				int:
   if not isinstance(snake_case_       ,      snake_case_       ) or number < 0:
      raise ValueError('''Input must be a non-negative integer'''       )

   __snake_case							       =   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()

