import java.util.ArrayDeque; import java.util.ArrayList; import java.util.Scanner; public class Knightwalk { public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ Scanner s = new Scanner(System.in); int X = s.nextInt(),Y = s.nextInt(); ArrayList x = new ArrayList<>(); ArrayList y = new ArrayList<>(); x.add(0); y.add(0); ArrayDeque z = new ArrayDeque<>(); ArrayDeque keep = new ArrayDeque<>(); z.offer(0); z.offer(0); int[] roota = new int[]{1,1,2,2,-1,-1,-2,-2}; int[] rootb = new int[]{2,-2,1,-1,2,-2,1,-1}; s.close(); for(int i = 1;i <= 3;i++){ while(!z.isEmpty()){ int nowx = z.poll(); int nowy = z.poll(); for(int j = 0;j < 8;j++){ //System.out.println(roota[j] + " " + rootb[j]); x.add(nowx+roota[j]); keep.offer(nowx+roota[j]); y.add(nowy + rootb[j]); keep.offer(nowy + rootb[j]); } } z.addAll(keep); keep.clear(); } //System.out.println(x); //System.out.println(y); if(X > 6 || Y > 6 || X < -6 || Y < -6){ System.out.println("NO"); }else{ while(x.contains(X)){ int p = x.indexOf(X); if(y.get(p) == Y){ System.out.println("YES"); break; }else{ x.remove(p); y.remove(p); } } if(!x.contains(X)){ System.out.println("NO"); } } } }