





def     lowerCamelCase__			(__lowerCamelCase,       __lowerCamelCase	):






     if number < 0 or shift_amount < 0:
          raise ValueError("both inputs must be positive integers"	)

     _SCREAMING_SNAKE_CASE       :	Union[str, Any]						    =							str(bin(__UpperCamelCase	)	)
     binary_number += "0" * shift_amount
     return binary_number






def     lowerCamelCase__			(__lowerCamelCase,       __lowerCamelCase	):






     if number < 0 or shift_amount < 0:
          raise ValueError("both inputs must be positive integers"	)

     _SCREAMING_SNAKE_CASE       :	List[Any]						    =							str(bin(__UpperCamelCase	)	)[2:]
     if shift_amount >= len(__UpperCamelCase	):
          return "0b0"
     _SCREAMING_SNAKE_CASE       :	Dict						    =							binary_number[: len(__UpperCamelCase	) - shift_amount]
     return "0b" + shifted_binary_number






def     lowerCamelCase__			(__lowerCamelCase,       __lowerCamelCase	):






     if number >= 0:  # Get binary representation of positive number
          _SCREAMING_SNAKE_CASE       :	List[str]						    =							"""0""" + str(bin(__UpperCamelCase	)	).strip("-"	)[2:]
     else:  # Get binary (2's complement) representation of negative number
          _SCREAMING_SNAKE_CASE       :	Optional[Any]						    =							len(bin(__UpperCamelCase	)[3:]	)  # Find 2's complement of number
          _SCREAMING_SNAKE_CASE       :	List[str]						    =							bin(abs(__UpperCamelCase	) - (1 << binary_number_length)	)[3:]
          _SCREAMING_SNAKE_CASE       :	str						    =							(
              """1""" + """0""" * (binary_number_length - len(__UpperCamelCase	)) + binary_number
          )

     if shift_amount >= len(__UpperCamelCase	):
          return "0b" + binary_number[0] * len(__UpperCamelCase	)
     return (
         "0b"
         + binary_number[0] * shift_amount
         + binary_number[: len(__UpperCamelCase	) - shift_amount]
     )


if __name__ == "__main__":
       import doctest

       doctest.testmod()






def     lowerCamelCase__			(__lowerCamelCase,       __lowerCamelCase	):
     while a != 0:
          _SCREAMING_SNAKE_CASE    ,			_SCREAMING_SNAKE_CASE       :	Any						    =							b % a, a
     return b






def     lowerCamelCase__			(__lowerCamelCase,       __lowerCamelCase	):
     if gcd(__lowerCamelCase,       __lowerCamelCase	) != 1:
          _SCREAMING_SNAKE_CASE       :	int						    =							f"""mod inverse of {a!r} and {m!r} does not exist"""
          raise ValueError(__lowerCamelCase	)
     _SCREAMING_SNAKE_CASE    ,			_SCREAMING_SNAKE_CASE    ,			_SCREAMING_SNAKE_CASE       :	List[str]						    =							1, 0, a
     _SCREAMING_SNAKE_CASE    ,			_SCREAMING_SNAKE_CASE    ,			_SCREAMING_SNAKE_CASE       :	List[str]						    =							0, 1, m
     while va != 0:
          _SCREAMING_SNAKE_CASE       :	Union[str, Any]						    =							ua // va
          _SCREAMING_SNAKE_CASE    ,			_SCREAMING_SNAKE_CASE    ,			_SCREAMING_SNAKE_CASE    ,			_SCREAMING_SNAKE_CASE    ,			_SCREAMING_SNAKE_CASE    ,			_SCREAMING_SNAKE_CASE       :	Union[str, Any]						    =							(ua - q * va), (ua - q * va), (ua - q * va), va, va, va
     return ua % m