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

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

Например:

  • $$$34$$$ можно одной операцией превратить в $$$81$$$: двоичная запись $$$34$$$ — это $$$100010$$$, если приписать справа $$$1$$$, развернуть и убрать ведущие нули, можно получить $$$1010001$$$, что является двоичной записью числа $$$81$$$;
  • $$$34$$$ можно одной операцией превратить в $$$17$$$: двоичная запись $$$34$$$ — это $$$100010$$$, если приписать справа $$$0$$$, развернуть и убрать ведущие нули, можно получить $$$10001$$$, что является двоичной записью числа $$$17$$$;
  • $$$81$$$ можно одной операцией превратить в $$$69$$$: двоичная запись $$$81$$$ — это $$$1010001$$$, если приписать справа $$$0$$$, развернуть и убрать ведущие нули, можно получить $$$1000101$$$, что является двоичной записью числа $$$69$$$;
  • $$$34$$$ можно превратить в $$$69$$$ за две операции: сначала превратить $$$34$$$ в $$$81$$$, а потом превратить $$$81$$$ в $$$69$$$.

Ваша задача — выяснить, можно ли превратить $$$x$$$ в $$$y$$$ за какое-то (возможно, нулевое) число операций.

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

Единственная строка входных данных содержит два целых числа $$$x$$$ и $$$y$$$ ($$$1 \le x, y \le 10^{18}$$$).

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

Выведите YES, если вы можете сделать $$$x$$$ равным $$$y$$$, или NO, если это невозможно.

Примеры
Входные данные
3 3
Выходные данные
YES
Входные данные
7 4
Выходные данные
NO
Входные данные
2 8
Выходные данные
NO
Входные данные
34 69
Выходные данные
YES
Входные данные
8935891487501725 71487131900013807
Выходные данные
YES
Примечание

В первом примере не надо совершать никаких действий.

Четвертый пример разобран в условии задачи.