#include<cstdio> #include <iostream> #include<algorithm> #include<string> #include<queue> #include<vector> #include<functional> #include<cmath> #include<map> #include<stack> #include<set> #include<numeric> using namespace std; typedef long long ll; typedef pair<ll, ll> Pr; ll xx, yy; int dx[] = { -2,-2,-1,-1,1,1,2,2 }; int dy[] = { -1,1,-2,2,-2,2,-1,1 }; int main() { cin >> xx >> yy; bool flag = false; int cnt = 0; queue<Pr> q; q.push({ 0,0 }); while (!q.empty()) { ll ddx = q.front().first; ll ddy = q.front().second; q.pop(); for (int i = 0; i < 8; i++) { ll x = dx[i] + ddx; ll y = dy[i] + ddy; if (x == 6 && y == 3) { cout << "NO" << endl; flag = true; break; } if (x == xx && y == yy) { cout << "YES" << endl; flag = true; break; } q.push({ x,y }); } if (flag)break; } return 0; }