#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; long long MOD = 1000000007; map< pair, int > M; bool func( long long a, long long b ) { if ( a > b ) { swap(a,b); } if ( a == 1 && b == 0 ) { return true; } if ( a == 0 && b == 1 ) { return true; } if ( a == 0 && b == 0 ) { return true; } if ( M[make_pair(a,b)] ) { return M[make_pair(a,b)] == 1; } bool x = false, y = false; if ( a%2 == 0 ) { x = func( a/2, b-1 ); } if ( b%2 == 0 ) { y = func( b/2, a-1 ); } M[make_pair(a,b)] = x || y ? 1 : 2; return x || y; } int main() { long long A,B; cin >> A >> B; cout << ( func( A,B ) ? "Yes" : "No" ) << endl; return 0; }