import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		try(Scanner scanner = new Scanner(System.in)) {
			String data = scanner.nextLine();
			String[] dataArray = data.split(" ");

			int total = Integer.parseInt(dataArray[0]);
			int legs = Integer.parseInt(dataArray[1]);

			boolean hasPattern = false;
			if (legs % 2 == 0) {
				int min = 2 * total;
				int max = 4 * total;
				if (min <= legs && legs <= max) {
					hasPattern = true;
				}
			}

			System.out.println(hasPattern ? "Yes" : "No");
		}
	}
} import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		try(Scanner scanner = new Scanner(System.in)) {
			String data = scanner.nextLine();
			String[] dataArray = data.split(" ");

			int total = Integer.parseInt(dataArray[0]);
			int legs = Integer.parseInt(dataArray[1]);

			boolean hasPattern = false;
			if (legs % 2 == 0) {
				int min = 2 * total;
				int max = 4 * total;
				if (min <= legs && legs <= max) {
					hasPattern = true;
				}
			}

			System.out.println(hasPattern ? "Yes" : "No");
		}
	}
} Main public static void main(String[] args) {
		try(Scanner scanner = new Scanner(System.in)) {
			String data = scanner.nextLine();
			String[] dataArray = data.split(" ");

			int total = Integer.parseInt(dataArray[0]);
			int legs = Integer.parseInt(dataArray[1]);

			boolean hasPattern = false;
			if (legs % 2 == 0) {
				int min = 2 * total;
				int max = 4 * total;
				if (min <= legs && legs <= max) {
					hasPattern = true;
				}
			}

			System.out.println(hasPattern ? "Yes" : "No");
		}
	} main {
		try(Scanner scanner = new Scanner(System.in)) {
			String data = scanner.nextLine();
			String[] dataArray = data.split(" ");

			int total = Integer.parseInt(dataArray[0]);
			int legs = Integer.parseInt(dataArray[1]);

			boolean hasPattern = false;
			if (legs % 2 == 0) {
				int min = 2 * total;
				int max = 4 * total;
				if (min <= legs && legs <= max) {
					hasPattern = true;
				}
			}

			System.out.println(hasPattern ? "Yes" : "No");
		}
	} try(Scanner scanner = new Scanner(System.in)) {
			String data = scanner.nextLine();
			String[] dataArray = data.split(" ");

			int total = Integer.parseInt(dataArray[0]);
			int legs = Integer.parseInt(dataArray[1]);

			boolean hasPattern = false;
			if (legs % 2 == 0) {
				int min = 2 * total;
				int max = 4 * total;
				if (min <= legs && legs <= max) {
					hasPattern = true;
				}
			}

			System.out.println(hasPattern ? "Yes" : "No");
		} {
			String data = scanner.nextLine();
			String[] dataArray = data.split(" ");

			int total = Integer.parseInt(dataArray[0]);
			int legs = Integer.parseInt(dataArray[1]);

			boolean hasPattern = false;
			if (legs % 2 == 0) {
				int min = 2 * total;
				int max = 4 * total;
				if (min <= legs && legs <= max) {
					hasPattern = true;
				}
			}

			System.out.println(hasPattern ? "Yes" : "No");
		} Scanner scanner = new Scanner(System.in) Scanner scanner = new Scanner(System.in) new Scanner(System.in) String data = scanner.nextLine(); data scanner.nextLine() scanner.nextLine scanner String[] dataArray = data.split(" "); dataArray data.split(" ") data.split data " " int total = Integer.parseInt(dataArray[0]); total Integer.parseInt(dataArray[0]) Integer.parseInt Integer dataArray[0] dataArray 0 int legs = Integer.parseInt(dataArray[1]); legs Integer.parseInt(dataArray[1]) Integer.parseInt Integer dataArray[1] dataArray 1 boolean hasPattern = false; hasPattern false if (legs % 2 == 0) {
				int min = 2 * total;
				int max = 4 * total;
				if (min <= legs && legs <= max) {
					hasPattern = true;
				}
			} legs % 2 == 0 legs % 2 legs 2 0 {
				int min = 2 * total;
				int max = 4 * total;
				if (min <= legs && legs <= max) {
					hasPattern = true;
				}
			} int min = 2 * total; min 2 * total 2 total int max = 4 * total; max 4 * total 4 total if (min <= legs && legs <= max) {
					hasPattern = true;
				} min <= legs && legs <= max min <= legs min legs legs <= max legs max {
					hasPattern = true;
				} hasPattern = true hasPattern true System.out.println(hasPattern ? "Yes" : "No") System.out.println System.out System System.out hasPattern ? "Yes" : "No" hasPattern "Yes" "No" String[] args args public class Main {

	public static void main(String[] args) {
		try(Scanner scanner = new Scanner(System.in)) {
			String data = scanner.nextLine();
			String[] dataArray = data.split(" ");

			int total = Integer.parseInt(dataArray[0]);
			int legs = Integer.parseInt(dataArray[1]);

			boolean hasPattern = false;
			if (legs % 2 == 0) {
				int min = 2 * total;
				int max = 4 * total;
				if (min <= legs && legs <= max) {
					hasPattern = true;
				}
			}

			System.out.println(hasPattern ? "Yes" : "No");
		}
	}
} public class Main {

	public static void main(String[] args) {
		try(Scanner scanner = new Scanner(System.in)) {
			String data = scanner.nextLine();
			String[] dataArray = data.split(" ");

			int total = Integer.parseInt(dataArray[0]);
			int legs = Integer.parseInt(dataArray[1]);

			boolean hasPattern = false;
			if (legs % 2 == 0) {
				int min = 2 * total;
				int max = 4 * total;
				if (min <= legs && legs <= max) {
					hasPattern = true;
				}
			}

			System.out.println(hasPattern ? "Yes" : "No");
		}
	}
} Main
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		try(Scanner scanner = new Scanner(System.in)) {
			String data = scanner.nextLine();
			String[] dataArray = data.split(" ");

			int total = Integer.parseInt(dataArray[0]);
			int legs = Integer.parseInt(dataArray[1]);

			boolean hasPattern = false;
			if (legs % 2 == 0) {
				int min = 2 * total;
				int max = 4 * total;
				if (min <= legs && legs <= max) {
					hasPattern = true;
				}
			}

			System.out.println(hasPattern ? "Yes" : "No");
		}
	}
}