C. Странная контрольная
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Игорь учится в 11-м классе. Завтра ему предстоит написать контрольную работу по информатике у самого строгого преподавателя школы — Павла Денисовича.

Игорь заранее знает, как будет проходить контрольная: изначально преподаватель даст каждому ученику, включая Игоря, два целых положительных числа $$$a$$$ и $$$b$$$ ($$$a < b$$$). Затем ученик может неограниченное количество раз производить с числами следующие операции:

  • $$$a := a + 1$$$ (увеличить $$$a$$$ на $$$1$$$),
  • $$$b := b + 1$$$ (увеличить $$$b$$$ на $$$1$$$),
  • $$$a := a \ | \ b$$$ (заменить $$$a$$$ на побитовое ИЛИ $$$a$$$ и $$$b$$$).

Чтобы получить максимальный балл за контрольную работу, ученику необходимо за минимальное количество операций сделать $$$a$$$ равным $$$b$$$.

Игорь заранее знает, какие числа даст ему учитель, и, конечно же, хочет получить максимальный балл за контрольную работу. Помогите ему понять, какое минимальное количество операций необходимо, чтобы сделать $$$a$$$ равным $$$b$$$.

Входные данные

Первая строка содержит единственное целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.

Единственная строка описания каждого набора входных данных содержит два целых числа $$$a$$$ и $$$b$$$ ($$$1 \le a < b \le 10^6$$$).

Гарантируется, что сумма $$$b$$$ по всем наборам входных данных не превышает $$$10^6$$$.

Выходные данные

Для каждого набора входных данных выведите единственное число — за какое минимальное количество операций можно сделать $$$a$$$ равным $$$b$$$.

Пример
Входные данные
5
1 3
5 8
2 5
3 19
56678 164422
Выходные данные
1
3
2
1
23329
Примечание

В первом наборе оптимально применить третью операцию.

Во втором наборе оптимально применить первую операцию три раза подряд.

В третьем наборе оптимально применить вторую операцию и потом третью операцию.