import java.util.*;
import java.lang.*;
import java.io.*;								

public class Main{
	public static void main(String args[]){
		InputStreamReader rd = new InputStreamReader(System.in);
		BufferedReader br = new BufferedReader(rd);
		try{
				String str = br.readLine();
				String initial[] = str.split(" ");
				
				int number = Integer.parseInt(initial[0]);
				int legs = Integer.parseInt(initial[1]);
				float t = (float)legs/2-(float)number;
				float c = (float)number-t;
				
				if((c==0 && t==0)||c<0||t<0){
					System.out.println("No");
				}
				else if((c == Math.floor(c))&&(t==Math.floor(t))){
					System.out.println("Yes");
				}
				else{
					System.out.println("No");
				}
				
		}
		catch(Exception e){
			return;
		}
	}
} import java.util.*; util.* java import java.lang.*; lang.* java import java.io.*; io.* java public class Main{
	public static void main(String args[]){
		InputStreamReader rd = new InputStreamReader(System.in);
		BufferedReader br = new BufferedReader(rd);
		try{
				String str = br.readLine();
				String initial[] = str.split(" ");
				
				int number = Integer.parseInt(initial[0]);
				int legs = Integer.parseInt(initial[1]);
				float t = (float)legs/2-(float)number;
				float c = (float)number-t;
				
				if((c==0 && t==0)||c<0||t<0){
					System.out.println("No");
				}
				else if((c == Math.floor(c))&&(t==Math.floor(t))){
					System.out.println("Yes");
				}
				else{
					System.out.println("No");
				}
				
		}
		catch(Exception e){
			return;
		}
	}
} Main public static void main(String args[]){
		InputStreamReader rd = new InputStreamReader(System.in);
		BufferedReader br = new BufferedReader(rd);
		try{
				String str = br.readLine();
				String initial[] = str.split(" ");
				
				int number = Integer.parseInt(initial[0]);
				int legs = Integer.parseInt(initial[1]);
				float t = (float)legs/2-(float)number;
				float c = (float)number-t;
				
				if((c==0 && t==0)||c<0||t<0){
					System.out.println("No");
				}
				else if((c == Math.floor(c))&&(t==Math.floor(t))){
					System.out.println("Yes");
				}
				else{
					System.out.println("No");
				}
				
		}
		catch(Exception e){
			return;
		}
	} main {
		InputStreamReader rd = new InputStreamReader(System.in);
		BufferedReader br = new BufferedReader(rd);
		try{
				String str = br.readLine();
				String initial[] = str.split(" ");
				
				int number = Integer.parseInt(initial[0]);
				int legs = Integer.parseInt(initial[1]);
				float t = (float)legs/2-(float)number;
				float c = (float)number-t;
				
				if((c==0 && t==0)||c<0||t<0){
					System.out.println("No");
				}
				else if((c == Math.floor(c))&&(t==Math.floor(t))){
					System.out.println("Yes");
				}
				else{
					System.out.println("No");
				}
				
		}
		catch(Exception e){
			return;
		}
	} InputStreamReader rd = new InputStreamReader(System.in); rd new InputStreamReader(System.in) BufferedReader br = new BufferedReader(rd); br new BufferedReader(rd) try{
				String str = br.readLine();
				String initial[] = str.split(" ");
				
				int number = Integer.parseInt(initial[0]);
				int legs = Integer.parseInt(initial[1]);
				float t = (float)legs/2-(float)number;
				float c = (float)number-t;
				
				if((c==0 && t==0)||c<0||t<0){
					System.out.println("No");
				}
				else if((c == Math.floor(c))&&(t==Math.floor(t))){
					System.out.println("Yes");
				}
				else{
					System.out.println("No");
				}
				
		}
		catch(Exception e){
			return;
		} catch(Exception e){
			return;
		} Exception e {
			return;
		} return; {
				String str = br.readLine();
				String initial[] = str.split(" ");
				
				int number = Integer.parseInt(initial[0]);
				int legs = Integer.parseInt(initial[1]);
				float t = (float)legs/2-(float)number;
				float c = (float)number-t;
				
				if((c==0 && t==0)||c<0||t<0){
					System.out.println("No");
				}
				else if((c == Math.floor(c))&&(t==Math.floor(t))){
					System.out.println("Yes");
				}
				else{
					System.out.println("No");
				}
				
		} String str = br.readLine(); str br.readLine() br.readLine br String initial[] = str.split(" "); initial str.split(" ") str.split str " " int number = Integer.parseInt(initial[0]); number Integer.parseInt(initial[0]) Integer.parseInt Integer initial[0] initial 0 int legs = Integer.parseInt(initial[1]); legs Integer.parseInt(initial[1]) Integer.parseInt Integer initial[1] initial 1 float t = (float)legs/2-(float)number; t (float)legs/2-(float)number (float)legs/2 (float)legs 2 (float)number float c = (float)number-t; c (float)number-t (float)number t if((c==0 && t==0)||c<0||t<0){
					System.out.println("No");
				}
				else if((c == Math.floor(c))&&(t==Math.floor(t))){
					System.out.println("Yes");
				}
				else{
					System.out.println("No");
				} (c==0 && t==0)||c<0||t<0 (c==0 && t==0)||c<0||t<0 (c==0 && t==0) c==0 c 0 t==0 t 0 c<0 c 0 t<0 t 0 {
					System.out.println("No");
				} System.out.println("No") System.out.println System.out System System.out "No" if((c == Math.floor(c))&&(t==Math.floor(t))){
					System.out.println("Yes");
				}
				else{
					System.out.println("No");
				} (c == Math.floor(c))&&(t==Math.floor(t)) (c == Math.floor(c)) c Math.floor(c) Math.floor Math c (t==Math.floor(t)) t Math.floor(t) Math.floor Math t {
					System.out.println("Yes");
				} System.out.println("Yes") System.out.println System.out System System.out "Yes" {
					System.out.println("No");
				} System.out.println("No") System.out.println System.out System System.out "No" String args[] args public class Main{
	public static void main(String args[]){
		InputStreamReader rd = new InputStreamReader(System.in);
		BufferedReader br = new BufferedReader(rd);
		try{
				String str = br.readLine();
				String initial[] = str.split(" ");
				
				int number = Integer.parseInt(initial[0]);
				int legs = Integer.parseInt(initial[1]);
				float t = (float)legs/2-(float)number;
				float c = (float)number-t;
				
				if((c==0 && t==0)||c<0||t<0){
					System.out.println("No");
				}
				else if((c == Math.floor(c))&&(t==Math.floor(t))){
					System.out.println("Yes");
				}
				else{
					System.out.println("No");
				}
				
		}
		catch(Exception e){
			return;
		}
	}
} public class Main{
	public static void main(String args[]){
		InputStreamReader rd = new InputStreamReader(System.in);
		BufferedReader br = new BufferedReader(rd);
		try{
				String str = br.readLine();
				String initial[] = str.split(" ");
				
				int number = Integer.parseInt(initial[0]);
				int legs = Integer.parseInt(initial[1]);
				float t = (float)legs/2-(float)number;
				float c = (float)number-t;
				
				if((c==0 && t==0)||c<0||t<0){
					System.out.println("No");
				}
				else if((c == Math.floor(c))&&(t==Math.floor(t))){
					System.out.println("Yes");
				}
				else{
					System.out.println("No");
				}
				
		}
		catch(Exception e){
			return;
		}
	}
} Main
import java.util.*;
import java.lang.*;
import java.io.*;								

public class Main{
	public static void main(String args[]){
		InputStreamReader rd = new InputStreamReader(System.in);
		BufferedReader br = new BufferedReader(rd);
		try{
				String str = br.readLine();
				String initial[] = str.split(" ");
				
				int number = Integer.parseInt(initial[0]);
				int legs = Integer.parseInt(initial[1]);
				float t = (float)legs/2-(float)number;
				float c = (float)number-t;
				
				if((c==0 && t==0)||c<0||t<0){
					System.out.println("No");
				}
				else if((c == Math.floor(c))&&(t==Math.floor(t))){
					System.out.println("Yes");
				}
				else{
					System.out.println("No");
				}
				
		}
		catch(Exception e){
			return;
		}
	}
}