Given two non-negative decimal integers $a$ and $b$, calculate their AND (logical conjunction), OR (logical disjunction) and XOR (exclusive disjunction) and print them in binary representation of 32 bits.

Constraints

* $0 \leq a, b \leq 2^{32} - 1$

Input

The input is given in the following format.


$a \; b$


Output

Print results of AND, OR and XOR in a line respectively.

Example

Input

8 10


Output

00000000000000000000000000001000
00000000000000000000000000001010
00000000000000000000000000000010

Difficulty: UNKNOWN_DIFFICULTY

Solutions:
def main():
	bm = 4294967295
	(a, b) = map(int, input().split())
	an = a & b & bm
	o = (a | b) & bm
	xo = (a ^ b) & bm
	print(format(an, '032b'))
	print(format(o, '032b'))
	print(format(xo, '032b'))
main()


(a, b) = map(lambda x: int(x), input().split())
mask = (1 << 32) - 1
print(f'{a & b & mask:032b}')
print(f'{(a | b) & mask:032b}')
print(f'{(a ^ b) & mask:032b}')


(a, b) = map(int, input().split())
c = a & b & 4294967295
d = (a | b) & 4294967295
e = (a ^ b) & 4294967295
print(format(c, '032b'))
print(format(d, '032b'))
print(format(e, '032b'))


def out(n):
	mask = 2 ** 32 - 1
	print(format(n & mask, '032b'))
(a, b) = map(int, input().split())
out(a & b)
out(a | b)
out(a ^ b)