A. Одноразовые пароли
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В настоящее время широкое распространение получили системы двухфакторной аутентификации, в которой помимо основного пароля пользователю необходимо ввести один или несколько одноразовых паролей. Рассмотрим один из возможных алгоритмов генерирования таких паролей.

Пусть F(Q) – количество целых положительных чисел не больше Q, которые представимы в виде 2x - 2y при целых неотрицательных x, y. Упорядочим по возрастанию количества единичных бит в двоичном представлении все числа Q такие, что F(Q) = N. Если количество единичных бит в двух числах одинаково, большим считается то из них, значение которого больше. В качестве одноразового пароля выбирается K-е по порядку число.

Необходимо вычислить одноразовые пароли для T сессий аутентификации.

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

В первой строке задается число T — количество сессий аутентификации. В следующих T строках задается по два целых числа Ni и Ki — параметры алгоритма генерирования одноразового пароля.

1 ≤ T ≤ 105
1 ≤ Ni, Ki ≤ 1018
Выходные данные

В T строках выведите по целому числу — одноразовый пароль для соответствующей сессии аутентификации. Каждый пароль необходимо вывести по модулю 109 + 7. Если по заданным параметрам пароль сгенерировать невозможно, то необходимо вывести -1.

Пример
Входные данные
1
16 10
Выходные данные
42