#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define rep(x, to) for (int x = 0; x < (to); x++) #define REP(x, a, to) for (int x = (a); x < (to); x++) #define foreach(itr, x) for (typeof((x).begin()) itr = (x).begin(); itr != (x).end(); itr++) #define EPS (1e-14) using namespace std; typedef long long ll; typedef pair PII; typedef pair PLL; typedef complex Complex; typedef vector< vector > Mat; const int LIMIT = 1e+9; int X, Y; int dy[] = {-1,1,2,-2,-2,2,-1,1}; int dx[] = {-2,-2,-1,-1,1,1,2,2}; bool dfs(int y, int x, int d) { if (d >= 0) { if (y == Y && x == X) return true; rep(k, 8) { int ny = y + dy[k]; int nx = x + dx[k]; if (ny > LIMIT || -LIMIT > ny) continue; if (nx > LIMIT || -LIMIT > nx) continue; bool res = dfs(ny, nx, d-1); if (res) return res; } } return false; } int main() { cin >> X >> Y; if (dfs(0, 0, 3)) cout << "YES" << endl; else cout << "NO" << endl; return 0; }