import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		// 読み込み
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int Y = sc.nextInt();
	
		double t = (4*X -Y)/2;
		double k = X - t;
		double ashi_k = (Y - 2 * t)/4; 
		if(t >= 0 && t == (int)t && k == (int)k && ashi_k == (int)ashi_k && k >= 0) {
			System.out.println("Yes");
		}
		else {
			System.out.println("No");;
		}
	}
} import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {

		// 読み込み
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int Y = sc.nextInt();
	
		double t = (4*X -Y)/2;
		double k = X - t;
		double ashi_k = (Y - 2 * t)/4; 
		if(t >= 0 && t == (int)t && k == (int)k && ashi_k == (int)ashi_k && k >= 0) {
			System.out.println("Yes");
		}
		else {
			System.out.println("No");;
		}
	}
} Main public static void main(String[] args) {

		// 読み込み
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int Y = sc.nextInt();
	
		double t = (4*X -Y)/2;
		double k = X - t;
		double ashi_k = (Y - 2 * t)/4; 
		if(t >= 0 && t == (int)t && k == (int)k && ashi_k == (int)ashi_k && k >= 0) {
			System.out.println("Yes");
		}
		else {
			System.out.println("No");;
		}
	} main {

		// 読み込み
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int Y = sc.nextInt();
	
		double t = (4*X -Y)/2;
		double k = X - t;
		double ashi_k = (Y - 2 * t)/4; 
		if(t >= 0 && t == (int)t && k == (int)k && ashi_k == (int)ashi_k && k >= 0) {
			System.out.println("Yes");
		}
		else {
			System.out.println("No");;
		}
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int X = sc.nextInt(); X sc.nextInt() sc.nextInt sc int Y = sc.nextInt(); Y sc.nextInt() sc.nextInt sc double t = (4*X -Y)/2; t (4*X -Y)/2 (4*X -Y) 4*X 4 X Y 2 double k = X - t; k X - t X t double ashi_k = (Y - 2 * t)/4; ashi_k (Y - 2 * t)/4 (Y - 2 * t) Y 2 * t 2 t 4 if(t >= 0 && t == (int)t && k == (int)k && ashi_k == (int)ashi_k && k >= 0) {
			System.out.println("Yes");
		}
		else {
			System.out.println("No");;
		} t >= 0 && t == (int)t && k == (int)k && ashi_k == (int)ashi_k && k >= 0 ashi_k == (int)ashi_k k == (int)k t >= 0 && t == (int)t && k == (int)k && ashi_k == (int)ashi_k && k >= 0 t >= 0 t 0 t == (int)t t (int)t k == (int)k k (int)k ashi_k == (int)ashi_k ashi_k (int)ashi_k k >= 0 k 0 {
			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) {

		// 読み込み
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int Y = sc.nextInt();
	
		double t = (4*X -Y)/2;
		double k = X - t;
		double ashi_k = (Y - 2 * t)/4; 
		if(t >= 0 && t == (int)t && k == (int)k && ashi_k == (int)ashi_k && k >= 0) {
			System.out.println("Yes");
		}
		else {
			System.out.println("No");;
		}
	}
} public class Main {

	public static void main(String[] args) {

		// 読み込み
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int Y = sc.nextInt();
	
		double t = (4*X -Y)/2;
		double k = X - t;
		double ashi_k = (Y - 2 * t)/4; 
		if(t >= 0 && t == (int)t && k == (int)k && ashi_k == (int)ashi_k && k >= 0) {
			System.out.println("Yes");
		}
		else {
			System.out.println("No");;
		}
	}
} Main
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		// 読み込み
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int Y = sc.nextInt();
	
		double t = (4*X -Y)/2;
		double k = X - t;
		double ashi_k = (Y - 2 * t)/4; 
		if(t >= 0 && t == (int)t && k == (int)k && ashi_k == (int)ashi_k && k >= 0) {
			System.out.println("Yes");
		}
		else {
			System.out.println("No");;
		}
	}
}