#include <iostream> #include <iterator> #include <string> #include <algorithm> #define MAX 32768 using namespace std; string s1,s2; string fun(int x) { string s=""; while(x!=0) { char c = '0'+x%2; s = s+c; x /= 2; } while(s.size()<16) { s.append("0"); } reverse(s.begin(),s.end()); return s; } int main() { int a, b; while (cin >> a >> b) { // 注意 while 处理多个 case int flag=0; s1 = fun(a); s1.append(s1); s2 = fun(b); // cout<<s1<<endl; for(int i=0;i<16;i++) { string sub = s1.substr(i,16); if(sub == s2) { flag=1; break; } } if(flag)cout<<"YES"<<endl; else cout<<"NO"<<endl; } } // 64 位输出请用 printf("%lld")