ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

2205. Натуральные числа

Ограничение времени: 2.0 секунды
Ограничение памяти: 256 МБ
Вадим работает в научно-исследовательском отделении большой IT-компании. Программировать ему приходится нечасто, а вот изучать самое простое понятие в математике — натуральные числа — приходится каждый день. Как только он не соединял между собой натуральные числа! Вот и сегодня он решил соединить их по-своему.
Два различных числа a, b соединены, если либо a — наибольший не равный b делитель b, либо b — наибольший не равный a делитель a.
Назовём путём последовательность различных натуральных чисел [a1, a2, … , ak] такую, что для всех i из [1, k−1] ai и ai+1 соединены и k ≥ 1.
Назовём ценой пути минимальное значение ai в последовательности.
Теперь Вадиму стало интересно про некоторые пары чисел, существует ли между ними путь и, если он есть, то какой наибольшей цены он может быть.

Исходные данные

В первой строке дано единственное число N — количество пар чисел, про которые хочет узнать Вадим (1 ≤ N
5 · 105).
В каждой из следующих N строк через пробел даны по два числа ai, bi — очередная пара чисел, про которую хочет узнать Вадим (1 ≤ ai, bi ≤ 107).

Результат

Выведите N строк. В i-й строке выведите −1, если пути между ai и bi нет, иначе выведите единственное целое число — наибольшую цену пути между ai и bi.

Пример

исходные данныерезультат
3
4 4
4 5
4 6
4
1
1
Автор задачи: Вадим Баринов
Источник задачи: Вузовско-академическая олимпиада по информатике 2022