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

Задача . D. Золотая лихорадка


Изначально у вас есть одна куча золотых самородков, содержащая \(n\) самородков. За одну операцию вы можете сделать следующее:

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

Одно из возможных действий - взять кучу размера \(6\) и разделить ее на кучи размеров \(2\) и \(4\), что является допустимым, так как \(4\) в два раза больше, чем \(2\).

Можете ли вы сделать кучу с ровно \(m\) золотых самородков, используя ноль или более операций?
Входные данные

Первая строка входных данных содержит целое число \(t\) (\(1 \leq t \leq 1000\)) — количество наборов входных данных в тесте.

Единственная строка каждого набора содержит два целых числа \(n\) и \(m\) (\(1 \leq n, m \leq 10^7\)) — начальный и целевой размер кучи соответственно.

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

Для каждого теста выведите «YES», если вы можете создать кучу размером ровно \(m\), и «NO» в противном случае.

Вы можете выводить ответ в любом регистре (например, строки «yEs», «yes», «Yes» и «YES» будут распознаны как положительный ответ).

Примечание

Первый тест изображен в условии. Мы можем создать кучу размером \(4\).

Во втором тесте мы можем выполнить следующие операции: \(\{\color{red}{9}\} \to \{\color{red}{6},3\} \to \{4,2,3\}\). Куча, которая разделяется, выделена красным цветом перед каждой операцией.

В третьем тесте мы не можем выполнить ни одной операции.

В четвертом тесте мы не можем получить кучу большего размера, чем у нас изначально.


Примеры
Входные данныеВыходные данные
1 11
6 4
9 4
4 2
18 27
27 4
27 2
27 10
1 1
3 1
5 1
746001 2984004
YES
YES
NO
NO
YES
YES
NO
YES
YES
NO
NO

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

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