<<Исключающее или>> наносит ответный удар

아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

Даны два неотрицательных целых числа aa и nn. Требуется найти такое минимальное неотрицательное число bb, что aba \oplus b нацело делится на nn.

Здесь \oplus обозначает операцию побитового <<исключающего или>> и соответствует операции <<xor>> в Паскале или <<\char 94>> в других языках. Для вычисления побитового <<исключающего или>> двух чисел xx и yy необходимо записать каждое из них в двоичной системе счисления, дополнив, при необходимости, ведущими нулями слева. Результат в каждой позиции равен 1 в том случае, если в точности в одном из чисел в соответствующей позиции находится 1. К примеру, для чисел x=12x=12 и y=26y=26 результат равен 22:

입력

В первой строке входных данных содержится число tt --- количество тестовых примеров (1t1041 \le t \le 10^4). В следующих tt строках содержатся описания тестовых примеров. Каждое описание состоит из двух чисел aa и nn, разделенных пробелом (1a,n10181 \le a, n \le 10^{18}).

출력

Для каждого из тестовых примеров требуется вывести единственное число --- искомое bb.