#include #include using namespace std; struct point{ int x; int y; int d; }; int dx[8] = {-2,-2,-1,-1,1,1,2,2}; int dy[8] = {-1,1,-2,2,-2,2,-1,1}; int main(){ int X,Y; point p,p1; queue que; cin >> X >> Y; p.x = 0; p.y = 0; p.d = 0; que.push(p); while(1){ p = que.front(); que.pop(); if(p.d == 3) break; for(int i=0;i<8;i++){ if(p.x +dx[i] == X && p.y + dy[i] == Y){ cout << "YES" << endl; return 0; } p1.x = p.x + dx[i]; p1.y = p.y + dy[i]; p1.d = p.d + 1; que.push(p1); } } cout << "NO" << endl; return 0; }