"""simple docstring"""
lowercase__   			=      {
    '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  (      _SCREAMING_SNAKE_CASE  )      ->Optional[Any]:
  a__:	Dict     				=      str(SCREAMING_SNAKE_CASE__  ).strip()

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

  a__:	Optional[int]     				=      (
      '0' * (4 * (divmod(len(SCREAMING_SNAKE_CASE__  )						,	4  )[0] + 1) - len(SCREAMING_SNAKE_CASE__  )) + binary_str
  )

  a__:	str     				=      []
  for x in range(0						,	len(SCREAMING_SNAKE_CASE__  )						,	4  ):
    hexadecimal.append(BITS_TO_HEX[binary_str[x : x + 4]]  )
  a__:	Dict     				=      '0x' + ''.join(SCREAMING_SNAKE_CASE__  )

  return "-" + hexadecimal_str if is_negative else hexadecimal_str


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

 testmod()






def 		_UpperCAmelCase							(     SCREAMING_SNAKE_CASE__     :   list     ,	SCREAMING_SNAKE_CASE__     :   int     ,	SCREAMING_SNAKE_CASE__     :   int     ,	SCREAMING_SNAKE_CASE__     :   int							):
     __UpperCamelCase       				=int((lower_bound + upper_bound) // 2							)
     if array[r] == value:
          return r
     if lower_bound >= upper_bound:
          return -1
     if array[r] < value:
          return binary_search(SCREAMING_SNAKE_CASE__     ,	r + 1     ,	SCREAMING_SNAKE_CASE__     ,	SCREAMING_SNAKE_CASE__							)
     else:
          return binary_search(SCREAMING_SNAKE_CASE__     ,	SCREAMING_SNAKE_CASE__     ,	r - 1     ,	SCREAMING_SNAKE_CASE__							)

def 		_UpperCAmelCase							(     SCREAMING_SNAKE_CASE__     :   int     ,	SCREAMING_SNAKE_CASE__     :   list							):
     __UpperCamelCase       				=0
     if matrix[index][0] == value:
          return [index, 0]
     while index < len(SCREAMING_SNAKE_CASE__							) and matrix[index][0] < value:
          __UpperCamelCase       				=binary_search(matrix[index]     ,	0     ,	len(matrix[index]							) - 1     ,	SCREAMING_SNAKE_CASE__							)
          if r != -1:
               return [index, r]
          index += 1
     return [-1, -1]


if __name__ == "__main__":
   import doctest

   doctest.testmod()





