#include #define rep(i,n) for(int i = 0; i < (n); i++) using namespace std; typedef long long ll; int main(){ cin.tie(0); ios::sync_with_stdio(0); ll A,B; cin >> A >> B; map,bool> mp; function dfs = [&](ll X, ll Y) -> bool { if(X == 0 && Y == 0) return true; if(X == 0 && Y > 0 || X > 0 && Y == 0) return true; if(X < 0 || Y < 0) return false; if(mp.count({X, Y})) return mp[{X, Y}]; if(X % 2 == 0 && dfs(X / 2, Y - 1)) return true; if(Y % 2 == 0 && dfs(X - 1, Y / 2)) return true; return false; }; cout << (dfs(A, B) ? "Yes" : "No") << endl; }