#include #include using namespace std; typedef long long LL; const int dir[] = { -2, 1, 2, 1, -2, -1, 2, -1, -2 }; struct p{ LL t, x, y; }; int main(void){ LL x,y; cin >> x >> y; queue

que; que.push(p{ 0, 0, 0 }); while (que.empty() == false){ p v = que.front(); que.pop(); if (v.x == x&&v.y == y){ cout << "YES" << endl; return 0; } if (v.t == 3)continue; for (int i = 0; i < 8; i++)que.push(p{ v.t + 1, v.x + dir[i], v.y + dir[i + 1] }); } cout << "NO" << endl; return(0); }