题目描述
Igor is in 11th grade. Tomorrow he will have to write an informatics test by the strictest teacher in the school, Pavel Denisovich.
Igor knows how the test will be conducted: first of all, the teacher will give each student two positive integers $a$ and $b$ ($a < b$). After that, the student can apply any of the following operations any number of times:
- $a := a + 1$ (increase $a$ by $1$),
- $b := b + 1$ (increase $b$ by $1$),
- $a := a \ | \ b$ (replace $a$ with the bitwise OR of $a$ and $b$).
To get full marks on the test, the student has to tell the teacher the minimum required number of operations to make $a$ and $b$ equal.
Igor already knows which numbers the teacher will give him. Help him figure out what is the minimum number of operations needed to make $a$ equal to $b$.
Input
Each test contains multiple test cases. The first line contains the number of test cases $t$ ($1 \le t \le 10^4$). Description of the test cases follows.
The only line for each test case contains two integers $a$ and $b$ ($1 \le a < b \le 10^6$).
It is guaranteed that the sum of $b$ over all test cases does not exceed $10^6$.
Output
For each test case print one integer — the minimum required number of operations to make $a$ and $b$ equal.
输入格式
见题面 Input 部分
输出格式
见题面 Output 部分
样例输入
样例输出
提示
In the first test case, it is optimal to apply the third operation.
In the second test case, it is optimal to apply the first operation three times.
In the third test case, it is optimal to apply the second operation and then the third operation.