code: a     :			int					    =						{
      """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 		snake_case__  (		lowercase				):
     lowerCAmelCase_:       Optional[Any]         =  str(lowercase				).strip()
  
     # Exceptions
     if not binary_str:
        raise ValueError("Empty string was passed to the function"				)
     lowerCAmelCase_:       Union[str, Any]         =  binary_str[0] == "-"
     lowerCAmelCase_:       Optional[Any]         =  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"				)
  
     lowerCAmelCase_:       List[str]         =  (
         "0" * (4 * (divmod(len(lowercase				)       ,							4				)[0] + 1) - len(lowercase				)) + binary_str
     )
  
     lowerCAmelCase_:       Dict         =  []
     for x in range(0       ,							len(lowercase				)       ,							4				):
        hexadecimal.append(BITS_TO_HEX[binary_str[x : x + 4]]				)
     lowerCAmelCase_:       str         =  "0x" + "".join(lowercase				)
  
     return "-" + hexadecimal_str if is_negative else hexadecimal_str
  
  
  if __name__ == "__main__":
   from doctest import testmod
  
   testmod()
style_context: def 		snake_case__  (		lowercase = 998001				):
  
     # fetches the next number
     for number in range(n - 1       ,							9999       ,							-1				):
        lowerCAmelCase_:       str         =  str(lowercase				)
  
        # checks whether 'str_number' is a palindrome.
        if str_number == str_number[::-1]:
           lowerCAmelCase_:       List[str]         =  999
  
           # if 'number' is a product of two 3-digit numbers
           # then number is the answer otherwise fetch next number.
           while divisor != 99:
              if (number % divisor == 0) and (len(str(number // divisor				)				) == 3.0):
                 return number
              divisor -= 1
     raise ValueError("That number is larger than our acceptable range."				)
  
  
  if __name__ == "__main__":
   print(f'''{solution() = }''')