crack-the-math

Given two binary numbers A,B i.e., numbers containing only zero or one.  Let the i th bit of A and i th bit of B differ by d. We need to form a binary number C such that the i th bit of C = 1 if 2^d is even, else it should be 0.

Input :
First line contains the number of test cases T
For each test case, 2 lines containing A and B respectively

Constraints :
1 ≤ T ≤ 100000
Both A, B are of same length.
Don't ignore leading zeros.
A, B have at most 100 bits

You can view the editorial to this problem here!

SAMPLE INPUT
2
111
000
000
111

SAMPLE OUTPUT
111
111

Source: hackerearth | Difficulty: UNKNOWN_DIFFICULTY


Solutions:
'''
# Read input from stdin and provide input before running code

name = raw_input('What is your name?\n')
print 'Hi, %s.' % name
'''
#print 'Hello World!'
import sys

n = int(input())
i = 0
while (i < n):
	s = input()
	s2 = input()
	#print s, s2
	
	ii = 0
	while (ii < len(s)):
		#print s[ii], s2[ii]
		#print abs(int(s[ii])-int(s2[ii]))
		if ((s[ii] == '1' and s2[ii] == '0') or (s[ii] == '0' and s2[ii] == '1')):
			sys.stdout.write("1")
		else:
			sys.stdout.write("0")
		ii = ii + 1
	print("")
	i = i + 1



t = int(input())
for i in range(t):
	c = []
	a = input().strip()
	b = input().strip()
	for j in range(len(a)):
		if(int(a[j]) == int(b[j])):
			c.append('0')
		else:
			c.append('1')
	
	print(''.join(c))


t=eval(input())

for i in range (t):
	a=input()
	b=input()
	l=len(a)
	c=""
	for j in range(l):
		k=ord(a[j])-48
		m=ord(b[j])-48
		n=chr((k^m)+48)
		c+=n
	print(c)


t=int(input())
while t:
	c=''
	t=t-1
	a=str(input())
	b=str(input())
	for x in range(len(a)):
		if a[x]==b[x]:
			c=c+"0"
		else:
			c=c+ "1"
	print(c)



import re
t=int(input(""))
for i in  range(t):
	a=input("")
	b=input("")
	c=""
	for j in range(len(a)):
		if((a[j]=="1" and b[j]=="0") or (a[j]=="0" and b[j]=="1")):
			c=c+"1"
		else:
			c=c+"0"
	print(c)