Codeforces Round 426 (Div. 1) |
---|
Закончено |
Сластена и ее верный пес Пушок играют в крайне интересную, но совершенно не имеющую смысла игру.
Игра состоит из множества партий. Правила ее очень просты: в каждом раунде выбирается некоторое натуральное число k, и тот кто его быстрее выкрикнет (или пролает, в зависимости от участника), выиграет этот раунд. После этого количество очков победителя увеличивается в k2 раз, а число очков его оппонента — в k раз. В начале любой игры Сластена и Пушок обладают одинаковым числом очков, равным единице.
К сожалению, Сластена потеряла свой блокнот, где содержалась информация обо всех партиях всех n прошедших игр, а смутно запомнить она сумела лишь окончательные результаты. Помогите Сластене для каждой игры проверить правдивость ее воспоминаний, а именно, скажите, могла ли состояться игра, в которой оба участника набрали заданное число очков.
В первой строке задано число n — количество тестовых случаев (1 ≤ n ≤ 350000).
Каждая игра описывается двумя числами a, b (1 ≤ a, b ≤ 109) — количеством очков Сластены и Пушка соответственно.
На каждый вопрос выведите одно слово «Yes», если игра с таким результатом возможна, и «No» в противном случае.
Вы можете выводить каждую из букв в любом регистре (строчную или заглавную).
6
2 4
75 45
8 8
16 16
247 994
1000000000 1000000
Yes
Yes
Yes
No
No
Yes
Первая игра могла состоять из одного раунда, в котором было выбрано число 2, пролаянное Пушком.
Во второй же игре необходимо ровно два раунда, в первом из которых Сластена могла назвать число 5, а во втором — Пушок пролаять число 3.
Название |
---|