import java.util.Scanner;

public class Main {

	public static void main(final String[] args) {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int Y = sc.nextInt();
		sc.close();
		if(Y % 2 != 0) {
			prtln("No");
			return;
		}
		if(X * 4 == Y) {
			prtln("Yes");
			return;
		}
		if(X * 2 == Y) {
			prtln("Yes");
			return;
		}
		boolean ok = false;
		for(int i = 1; i <= X; i++) {
			// System.out.println((Y - (i * 4)) / 2 +" == "+ (X - i));
			if((Y - (i * 4)) / 2 == (X - i)) {
				ok = true;
				break;
			}
		}
		prtln(ok ? "Yes" : "No");
	}

	public static <T> void prtln(T t) { System.out.println(t); }
} import java.util.Scanner; Scanner java.util public class Main {

	public static void main(final String[] args) {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int Y = sc.nextInt();
		sc.close();
		if(Y % 2 != 0) {
			prtln("No");
			return;
		}
		if(X * 4 == Y) {
			prtln("Yes");
			return;
		}
		if(X * 2 == Y) {
			prtln("Yes");
			return;
		}
		boolean ok = false;
		for(int i = 1; i <= X; i++) {
			// System.out.println((Y - (i * 4)) / 2 +" == "+ (X - i));
			if((Y - (i * 4)) / 2 == (X - i)) {
				ok = true;
				break;
			}
		}
		prtln(ok ? "Yes" : "No");
	}

	public static <T> void prtln(T t) { System.out.println(t); }
} Main public static void main(final String[] args) {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int Y = sc.nextInt();
		sc.close();
		if(Y % 2 != 0) {
			prtln("No");
			return;
		}
		if(X * 4 == Y) {
			prtln("Yes");
			return;
		}
		if(X * 2 == Y) {
			prtln("Yes");
			return;
		}
		boolean ok = false;
		for(int i = 1; i <= X; i++) {
			// System.out.println((Y - (i * 4)) / 2 +" == "+ (X - i));
			if((Y - (i * 4)) / 2 == (X - i)) {
				ok = true;
				break;
			}
		}
		prtln(ok ? "Yes" : "No");
	} main {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int Y = sc.nextInt();
		sc.close();
		if(Y % 2 != 0) {
			prtln("No");
			return;
		}
		if(X * 4 == Y) {
			prtln("Yes");
			return;
		}
		if(X * 2 == Y) {
			prtln("Yes");
			return;
		}
		boolean ok = false;
		for(int i = 1; i <= X; i++) {
			// System.out.println((Y - (i * 4)) / 2 +" == "+ (X - i));
			if((Y - (i * 4)) / 2 == (X - i)) {
				ok = true;
				break;
			}
		}
		prtln(ok ? "Yes" : "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 sc.close() sc.close sc if(Y % 2 != 0) {
			prtln("No");
			return;
		} Y % 2 != 0 Y % 2 Y 2 0 {
			prtln("No");
			return;
		} prtln("No") prtln "No" return; if(X * 4 == Y) {
			prtln("Yes");
			return;
		} X * 4 == Y X * 4 X 4 Y {
			prtln("Yes");
			return;
		} prtln("Yes") prtln "Yes" return; if(X * 2 == Y) {
			prtln("Yes");
			return;
		} X * 2 == Y X * 2 X 2 Y {
			prtln("Yes");
			return;
		} prtln("Yes") prtln "Yes" return; boolean ok = false; ok false for(int i = 1; i <= X; i++) {
			// System.out.println((Y - (i * 4)) / 2 +" == "+ (X - i));
			if((Y - (i * 4)) / 2 == (X - i)) {
				ok = true;
				break;
			}
		} int i = 1; int i = 1; i 1 i <= X i X i++ i++ i {
			// System.out.println((Y - (i * 4)) / 2 +" == "+ (X - i));
			if((Y - (i * 4)) / 2 == (X - i)) {
				ok = true;
				break;
			}
		} {
			// System.out.println((Y - (i * 4)) / 2 +" == "+ (X - i));
			if((Y - (i * 4)) / 2 == (X - i)) {
				ok = true;
				break;
			}
		} if((Y - (i * 4)) / 2 == (X - i)) {
				ok = true;
				break;
			} (Y - (i * 4)) / 2 == (X - i) (Y - (i * 4)) / 2 (Y - (i * 4)) Y (i * 4) i 4 2 (X - i) X i {
				ok = true;
				break;
			} ok = true ok true break; prtln(ok ? "Yes" : "No") prtln ok ? "Yes" : "No" ok "Yes" "No" final String[] args args public static <T> void prtln(T t) { System.out.println(t); } prtln { System.out.println(t); } System.out.println(t) System.out.println System.out System System.out t T t t public class Main {

	public static void main(final String[] args) {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int Y = sc.nextInt();
		sc.close();
		if(Y % 2 != 0) {
			prtln("No");
			return;
		}
		if(X * 4 == Y) {
			prtln("Yes");
			return;
		}
		if(X * 2 == Y) {
			prtln("Yes");
			return;
		}
		boolean ok = false;
		for(int i = 1; i <= X; i++) {
			// System.out.println((Y - (i * 4)) / 2 +" == "+ (X - i));
			if((Y - (i * 4)) / 2 == (X - i)) {
				ok = true;
				break;
			}
		}
		prtln(ok ? "Yes" : "No");
	}

	public static <T> void prtln(T t) { System.out.println(t); }
} public class Main {

	public static void main(final String[] args) {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int Y = sc.nextInt();
		sc.close();
		if(Y % 2 != 0) {
			prtln("No");
			return;
		}
		if(X * 4 == Y) {
			prtln("Yes");
			return;
		}
		if(X * 2 == Y) {
			prtln("Yes");
			return;
		}
		boolean ok = false;
		for(int i = 1; i <= X; i++) {
			// System.out.println((Y - (i * 4)) / 2 +" == "+ (X - i));
			if((Y - (i * 4)) / 2 == (X - i)) {
				ok = true;
				break;
			}
		}
		prtln(ok ? "Yes" : "No");
	}

	public static <T> void prtln(T t) { System.out.println(t); }
} Main
import java.util.Scanner;

public class Main {

	public static void main(final String[] args) {
		Scanner sc = new Scanner(System.in);
		int X = sc.nextInt();
		int Y = sc.nextInt();
		sc.close();
		if(Y % 2 != 0) {
			prtln("No");
			return;
		}
		if(X * 4 == Y) {
			prtln("Yes");
			return;
		}
		if(X * 2 == Y) {
			prtln("Yes");
			return;
		}
		boolean ok = false;
		for(int i = 1; i <= X; i++) {
			// System.out.println((Y - (i * 4)) / 2 +" == "+ (X - i));
			if((Y - (i * 4)) / 2 == (X - i)) {
				ok = true;
				break;
			}
		}
		prtln(ok ? "Yes" : "No");
	}

	public static <T> void prtln(T t) { System.out.println(t); }
}
