파이썬은 날로먹는 문제다..!
1이 A개, 0이 B개일 경우, 무조건 1로 시작해야 하니
A=2, B=2 인경우 1ABB , 1BBA
A=3, B=5 인경우 1AABBBBB, 1BBBBBAA 의 형태로 가장큰수와 가장 작은수가 나온다
무조건 앞에 1이 1개 있어야 된다는 함정을 조심하자!
res=[]
for m in range(int(input())):
tmp=0
A,B=map(int,input().split())
M=int('1'+(A-1)*"1"+B*"0",2)
N=int('1'+B*"0"+(A-1)*"1",2)
X=bin(M*N)[2:]
for i in X:
if i=="1":
tmp+=1
res.append(tmp)
for i in range(len(res)):
print("#%d %s"%(i+1,res[i]))