#include <bits/stdc++.h>
using namespace std;

const int dx[] = { -2, -2, -1, -1, 1, 1, 2, 2 };
const int dy[] = { -1, 1, -2, 2, -2, 2, -1, 1 };

signed main(){
  int X, Y; cin >> X >> Y;
  queue< tuple< int, int, int > > que;
  que.emplace( 0, 0, 0 );
  while( not que.empty() ){
    int t, x, y; tie( t, x, y ) = que.front(); que.pop();
    if( x == X and y == Y )
      cout << "YES" << endl,
      exit( 0 );
    if( t == 3 ) continue;
    for( int di = 0; di < 8; ++di )
      que.emplace( t + 1, x + dx[ di ], y + dy[ di ] );
  }
  cout << "NO" << endl;
  return 0;
}