#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define REP(i,a,n) for(int i=(a); i<(int)(n); i++) #define rep(i,n) REP(i,0,n) #define ALLOF(c) (c),begin(), (c),end() typedef long long ll; int main() { set> f; set> s; set> t; int x,y; cin >> x >> y; if (abs(x) >= 7 || abs(y) >= 7 ) { cout << "NO" << endl; return 0; } int vx[8] = {-2,-2,-1,-1,1,1,2,2}; int vy[8] = {-1,1,-2,2,-2,2,-1,1}; rep(i,8) { pair ppp = make_pair(vx[i],vy[i]); f.insert(ppp); } for(set>::iterator i= f.begin(); i!= f.end(); i++) { rep(j,8) { s.insert(make_pair( i->first + vx[j],i->second + vy[j])); } } for(set>::iterator i= s.begin(); i!= s.end(); i++) { rep(j,8) { t.insert(make_pair(i->first + vx[j],i->second + vy[j])); } } if ( ( f.find(make_pair(x,y)) != f.end() ) || (s.find(make_pair(x,y)) != s.end()) || (t.find(make_pair(x,y)) != t.end()) ) { cout << "YES" << endl; return 0; } cout << "NO" << endl; return 0; }