


'''simple docstring'''



__UpperCAmelCase     :Tuple												=  {
    "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       _a      (		_lowercase   :      str    ):





     '''simple docstring'''






     __UpperCAmelCase      :					Tuple    				=     str(__A    ).strip()

     # Exceptions
     if not binary_str:
          raise ValueError('''Empty string was passed to the function'''    )
     __UpperCAmelCase      :					List[Any]    				=     binary_str[0] == '''-'''
     __UpperCAmelCase      :					Optional[int]    				=     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'''    )

     __UpperCAmelCase      :					Union[str, Any]    				=     (
         '''0''' * (4 * (divmod(len(__A    )     ,   4    )[0] + 1) - len(__A    )) + binary_str
     )

     __UpperCAmelCase      :					Union[str, Any]    				=     []
     for x in range(0     ,   len(__A    )     ,   4    ):
          hexadecimal.append(BITS_TO_HEX[binary_str[x : x + 4]]    )
     __UpperCAmelCase      :					List[str]    				=     '''0x''' + ''''''.join(__A    )

     return "-" + hexadecimal_str if is_negative else hexadecimal_str


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

      testmod()





def   A		(__A  :       int			)  -> int:







     """simple docstring"""


     if not isinstance(__A  ,							__A			):
          UpperCAmelCase_		=				F"""Input value of [number={number}] must be an integer"""
          raise TypeError(__A			)
     if number < 1:
          raise ValueError('''Input must be a positive integer'''			)
     return number * (2 * number - 1)


if __name__ == "__main__":
    import doctest

    doctest.testmod()






