#CF2075D. 相等化

相等化

D. 相等化
每次测试的时间限制:3.5 秒
内存限制:256 兆字节


给你两个非负整数 xxyy

你可以执行任意多次(包括零次)以下操作:选择一个正整数 kk,然后将 xxyy 除以 2k2k 并向下取整。这次操作的成本是 2k2k。然而,还有一个额外的约束:你不能选择同一个 kk 超过一次。

你的任务是计算使 xx 等于 yy 所需的最小可能总成本。


输入
第一行包含一个整数 tt1t1051 \le t \le 10^5)——测试用例的数量。
每个测试用例只有一行,包含两个整数 xxyy0x,y10170 \le x, y \le 10^{17})。


输出
对于每个测试用例,输出一个整数 —— 使 xx 等于 yy 所需的最小可能成本。


示例
输入:

5
0 1
6 2
3 3
13 37
4238659325782394 12983091057341925

输出:

2
6
0
26
32764

说明
在第一个示例中,你可以这样操作:选择 k=1k = 1 并将 yy 除以 22。之后 xxyy 都等于 00

在第二个示例中,你可以这样操作:选择 k=2k = 2 并将 xx 除以 44;选择 k=1k = 1 并将 yy 除以 22。之后 xxyy 都等于 11

在第三个示例中,两个数字已经相等。