UpperCAmelCase							   =      {
    """0000""": """0""",
    """0001""": """1""",
    """0010""": """2""",
    """0011""": """3""",
    """0100""": """4""",
    """0101""": """5""",
    """0110""": """6""",
    """0111""": """7""",
    """1000""": """8""",
    """1001""": """9""",
    """1010""": """a""",
    """1011""": """b""",
    """1100""": """c""",
    """1101""": """d""",
    """1110""": """e""",
    """1111""": """f""",
}







def 	UpperCAmelCase       (		lowerCAmelCase_       )	->	str:
     a  :    List[Any]				=						str(lowerCAmelCase_       ).strip()

     # Exceptions
     if not binary_str:
          raise ValueError('''Empty string was passed to the function'''       )
     a  :    Union[str, Any]				=						binary_str[0] == '''-'''
     a  :    Tuple				=						binary_str[1:] if is_negative else binary_str
     if not all(char in '''01''' for char in binary_str       ):
          raise ValueError('''Non-binary value was passed to the function'''       )

     a  :    Any				=						(
         '''0''' * (4 * (divmod(len(lowerCAmelCase_       )						,      4       )[0] + 1) - len(lowerCAmelCase_       )) + binary_str
     )

     a  :    str				=						[]
     for x in range(0						,      len(lowerCAmelCase_       )						,      4       ):
          hexadecimal.append(BITS_TO_HEX[binary_str[x : x + 4]]       )
     a  :    Optional[int]				=						'''0x''' + ''''''.join(lowerCAmelCase_       )

     return "-" + hexadecimal_str if is_negative else hexadecimal_str


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

  testmod()
def 	UpperCAmelCase       (		lowerCAmelCase_       )	->	int:
     return 1 if input_a == 0 else 0







def 	UpperCAmelCase       (		)	->	None:
     assert not_gate(0       ) == 1
     assert not_gate(1       ) == 0


if __name__ == "__main__":
  print(not_gate(0))
  print(not_gate(1))