"""simple docstring"""







def      __lowerCAmelCase(		__UpperCAmelCase     ,__UpperCAmelCase			):






	"""simple docstring"""





	if a < 0 or b < 0:
		raise ValueError('the value of both inputs must be positive'			)

	_lowercase :    Union[str, Any]							=							str(bin(__UpperCAmelCase			)			)[2:]  # remove the leading "0b"
	_lowercase :    Optional[int]							=							str(bin(__UpperCAmelCase			)			)[2:]  # remove the leading "0b"

	_lowercase :    Tuple							=							max(len(__UpperCAmelCase			)     ,len(__UpperCAmelCase			)			)

	return "0b" + "".join(
	    str(int(char_a == '1' and char_b == '1'			)			)
	    for char_a, char_b in zip(a_binary.zfill(__UpperCAmelCase			)     ,b_binary.zfill(__UpperCAmelCase			)			)			)


if __name__ == "__main__":
						import doctest

						doctest.testmod()




"""simple docstring"""







def      __lowerCAmelCase(		__UpperCAmelCase     ,__UpperCAmelCase			):






	"""simple docstring"""





	_lowercase :    Any							=							len(__UpperCAmelCase			)
	_lowercase :    Any							=							len(__UpperCAmelCase			)
	_lowercase :    List[Any]							=							[[False for _ in range(m + 1			)] for _ in range(n + 1			)]
	_lowercase :    Union[str, Any]							=							True
	for i in range(__UpperCAmelCase			):
		for j in range(m + 1			):
			if dp[i][j]:
				if j < m and a[i].upper() == b[j]:
					_lowercase :    Optional[int]							=							True
				if a[i].islower():
					_lowercase :    Union[str, Any]							=							True
	return dp[n][m]


if __name__ == "__main__":
						import doctest

						doctest.testmod()



