#include #define FOR(i,a,b) for(int i = (a); i < (b); ++i) #define REP(i,n) FOR(i,0,n) #define RREP(i,n) for(int i = (n) - 1; (i) >= 0; --i) #define SZ(n) (int)(n).size() #define ALL(n) (n).begin(), (n).end() #define MOD LL(1e9 + 7) #define INF 1000000 using namespace std; typedef long long LL; typedef vector VI; typedef pair PI; int ndx[8] = { -2,-2,-1,-1,1,1,2,2 }; int ndy[8] = { -1,1,-2,2,-2,2,-1,1 }; int main() { int x, y; cin >> x >> y; set si; si.insert({ 0,0 }); REP(i, 3) { set nsi = si; for (auto e : si) { REP(j, 8) { nsi.insert({ e.first + ndx[j], e.second + ndy[j] }); } } si = nsi; } bool ans = false; for (auto e : si) { if (e.first == x && e.second == y) ans = true; } if (ans) cout << "YES" << endl; else cout << "NO" << endl; return 0; }