#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define all(c) (c).begin(), (c).end() #define rep(i,n) for(int i=0;i<(n);i++) #define pb(e) push_back(e) #define mp(a, b) make_pair(a, b) #define fr first #define sc second const int INF=100000000; // (x-2,y-1),(x-2,y+1),(x-1,y-2),(x-1,y+2),(x+1,y-2),(x+1,y+2),(x+2,y-1),(x+2,y+1) int dx[]={-2,-2,-1,-1,1,1,2,2}; int dy[]={-1,1,-2,2,-2,2,-1,1}; using namespace std; typedef pair P; typedef long long ll; const int offset = 100; bool ok[202][202]; void dfs(int x,int y,int n) { ok[x+offset][y+offset]=true; if(n==0) return; rep(k,8) { int ny=y+dy[k]; int xn=x+dx[k]; dfs(xn,ny,n-1); } } int main() { dfs(0,0,3); int x,y; cin>>x>>y; if(!((-100<=x&&x<=100)&&(-100<=y&&y<=100))) { cout<<"NO"<