


'''simple docstring'''
def 					a__       (					lowerCAmelCase__  ,					lowerCAmelCase__ = False						)    ->	Any:

    if not isinstance(lowerCAmelCase_  ,					lowerCAmelCase_						):
        UpperCAmelCase__			:		Union[str, Any]													=				F"""Expected string as input, found {type(lowerCAmelCase_						)}"""
        raise ValueError(lowerCAmelCase_						)
    if not isinstance(lowerCAmelCase_  ,					lowerCAmelCase_						):
        UpperCAmelCase__			:		int													=				F"""Expected boolean as use_pascal parameter, found {type(lowerCAmelCase_						)}"""
        raise ValueError(lowerCAmelCase_						)

    UpperCAmelCase__			:		str													=				input_str.split('''_'''						)

    UpperCAmelCase__			:		Any													=				0 if use_pascal else 1

    UpperCAmelCase__			:		int													=				words[start_index:]

    UpperCAmelCase__			:		List[str]													=				[word[0].upper() + word[1:] for word in words_to_capitalize]

    UpperCAmelCase__			:		List[str]													=				'''''' if use_pascal else words[0]

    return "".join([initial_word, *capitalized_words]						)


if __name__ == "__main__":
  from doctest import testmod

  testmod()







def   a_    ( lowerCAmelCase_      :			int	):
   if number < 0:
      raise ValueError('number must not be negative'	)
   return number & (number - 1) == 0


if __name__ == "__main__":
     import doctest

     doctest.testmod()

