#include <bits/stdc++.h> using namespace std; void In(int x[], int a) { for (int i = 0; i < 16; i++) { x[i] = a % 2; a /= 2; } reverse(&x[0], &x[16]); } int cmp(int x[], int y[]) { for (int i = 0; i < 16; i++) { if (x[i] != y[i]) { return 0; } } return 1; } void mo(int x[]) { int tmp = x[0]; for (int i = 0; i < 15; i++) { x[i] = x[i + 1]; } x[15] = tmp; } int main() { int a, b, flag = 0; int x[16], y[16]; while (cin >> a >> b) { // 注意 while 处理多个 case int x[16] = {0}, y[16] = {0}; In(x, a); In(y, b); for (int i = 0; i < 16; i++) { flag = cmp(x, y); if (flag == 1) { break; } mo(x); } if (flag == 1) { cout << "YES" << endl; } else { cout << "NO" << endl; } } } // 64 位输出请用 printf("%lld")