#include #include #include #include #include #include #include #include using namespace std; #define rep(i, n) for (long long i = 0; i < (long long)(n); i++) #define REP(i, k, n) for (int i = (int)(k); i < (int)(n); i++) #define rrep(i, n) for (int i = (int)(n)-1; i >= 0; i--) #define rREP(i, k, n) for (int i = (int)(n)-1; i >= k; i--) #define debug(x) cerr<<#x<<": "< #define pb push_back #define mp make_pair #define pcnt __builtin_popcount typedef long long ll; const int inf = 100100100; const int MOD = (int)1e9 + 7; const double EPS = 1e-9; int main(){ cin.tie(0); ios_base::sync_with_stdio(false); long long a,b; cin >> a >> b; bool f = false; if(a==0 || b==0) f=true; else if(b%2==0&&a%2==1) f=true; else if(b%2==1&&a%2==0) f=true; else if(b%2==0&&a%2==0){ long long c =2; long long d = b; int cnt = 0; while(d%2==0 && d>0){ d/=2; c*=2; cnt++; } if(d==0||cnt%2==0) f=true; else if(a%c==0) f=true; else{ cnt = 0; long long c =2; while(a%2==0 && a>0){ a/=2; c*=2; cnt++; } if(a==0 || cnt%2==0) f=true; else if(b%c==0) f=true; }; } else f = false; if(f) cout << "Yes" << endl; else cout << "No" << endl; return 0; }