




def       UpperCAmelCase__  (     lowerCamelCase   ):

  if isinstance(SCREAMING_SNAKE_CASE_,			SCREAMING_SNAKE_CASE_   ):
    raise TypeError("\'float\' object cannot be interpreted as an integer"   )
  if isinstance(SCREAMING_SNAKE_CASE_,			SCREAMING_SNAKE_CASE_   ):
    raise TypeError("\'str\' object cannot be interpreted as an integer"   )

  if num == 0:
    return "0b0"

  lowercase    :List[Any]      	=						False

  if num < 0:
    lowercase    :List[str]      	=						True
    lowercase    :str      	=						-num

  lowercase    :list[int]      	=						[]
  while num > 0:
    binary.insert(0,			num % 2   )
    num >>= 1

  if negative:
    return "-0b" + "".join(str(SCREAMING_SNAKE_CASE_   ) for e in binary   )

  return "0b" + "".join(str(SCREAMING_SNAKE_CASE_   ) for e in binary   )


if __name__ == "__main__":
     import doctest

     doctest.testmod()









from abc import ABC, abstractmethod
from argparse import ArgumentParser




class    __lowerCAmelCase       (							lowerCAmelCase):






       @staticmethod
       @abstractmethod
       def 					SCREAMING_SNAKE_CASE    (   _lowerCAmelCase:					ArgumentParser				):
         raise NotImplementedError()






       @abstractmethod
       def 					SCREAMING_SNAKE_CASE    (   self:					List[str]				):
         raise NotImplementedError()



