Олимпиадный тренинг

Задача . A. Игра, не имеющая смысла


Сластена и ее верный пес Пушок играют в крайне интересную, но совершенно не имеющую смысла игру.

Игра состоит из множества партий. Правила ее очень просты: в каждом раунде выбирается некоторое натуральное число k, и тот кто его быстрее выкрикнет (или пролает, в зависимости от участника), выиграет этот раунд. После этого количество очков победителя увеличивается в k2 раз, а число очков его оппонента — в k раз. В начале любой игры Сластена и Пушок обладают одинаковым числом очков, равным единице.

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

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

В первой строке задано число n — количество тестовых случаев (1 ≤ n ≤ 350000).

Каждая игра описывается двумя числами a, b (1 ≤ a, b ≤ 109) — количеством очков Сластены и Пушка соответственно.

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

На каждый вопрос выведите одно слово «Yes», если игра с таким результатом возможна, и «No» в противном случае.

Вы можете выводить каждую из букв в любом регистре (строчную или заглавную).

Примечание

Первая игра могла состоять из одного раунда, в котором было выбрано число 2, пролаянное Пушком.

Во второй же игре необходимо ровно два раунда, в первом из которых Сластена могла назвать число 5, а во втором — Пушок пролаять число 3.


Примеры
Входные данныеВыходные данные
1 6
2 4
75 45
8 8
16 16
247 994
1000000000 1000000
Yes
Yes
Yes
No
No
Yes

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя