#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // C++ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define rep(i,j,k) for(int i=(int)j;i<(int)k;i++) #define ll long long #define Sort(v) sort(all(v)) #define INF 1000000000 #define END return 0 #define pb push_back #define se second #define fi first #define pb push_back #define all(v) (v).begin() , (v).end() #define MP make_pair #define MOD 1000000007LL; using namespace std; int day[12]={31,28,31,30,31,30,31,31,30,31,30,31}; ll X,Y; bool ok=false; void dfs(ll x,ll y,int i){ if(x==X&&y==Y)ok=true; if(i==3||ok)return; dfs(x-2,y-1,i+1); dfs(x-2,y+1,i+1); dfs(x-1,y-2,i+1); dfs(x-1,y+2,i+1); dfs(x+1,y-2,i+1); dfs(x+1,y+2,i+1); dfs(x+2,y-1,i+1); dfs(x+2,y+1,i+1); return ; } int main(){ cin>>X>>Y; dfs(0,0,0); if(ok)cout<<"YES"<