import java.util.*; import java.io.*; import java.awt.geom.*; import java.math.*; public class No0240 { static final Scanner in = new Scanner(System.in); static final PrintWriter out = new PrintWriter(System.out,false); static void solve() { X = in.nextInt(); Y = in.nextInt(); out.println(rec(0,0,0) ? "YES" : "NO"); } static int X,Y; static int[] dx = {-2,-2,-1,-1,1,1,2,2}; static int[] dy = {-1,1,-2,2,-2,2,-1,1}; static boolean rec(int x, int y, int depth) { if (x == X && y == Y) return true; if (depth == 3) return false; for (int i=0; i<8; i++) { if (rec(x+dx[i],y+dy[i],depth+1)) { return true; } } return false; } public static void main(String[] args) { long start = System.currentTimeMillis(); solve(); out.flush(); long end = System.currentTimeMillis(); //trace(end-start + "ms"); in.close(); out.close(); } static void trace(Object... o) { System.out.println(Arrays.deepToString(o));} }