输入数据包括多行,每行给出一组测试数据,包括两个整数m,n (1 <= m <= n <= 1000000000)。
对于每一组测试数据,输出一行,该行包含一个整数,给出结点m所在子树中包括的结点的数目。
3 12 0 0
4
while True:
try:
i,num = list(map(int,input().split()))
result,level = 1,1
leftNode,rightNode = 2*i,2*i+1
while rightNode <= num:
level *= 2
result += level
leftNode *= 2
rightNode = rightNode*2 + 1
if leftNode <= num:
result += num-leftNode+1
print(result)
except Exception:
break