 import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.*;

import javax.sound.sampled.ReverbType;

public class Main {

	 static Scanner scan=new Scanner(System.in);
	 static int cnt=0;
	 static int M=(int)1e9+7;
	static boolean issamedi(int i,int j){
		if(i>0&&j<0)
			return false;
		if(i>0&&j>0&&i>j)
			return false;
		return true;
		
		
	}

	
		static boolean isvowel(char c) {
			return c=='a'||c=='e'||c=='i'||c=='o'||c=='u';
			
		}
	 public static int maxVowels(String s, int k) {
	        int i=0;
	        ArrayList<Integer>lenghts=new ArrayList<Integer>();
	        for(int j=0;j<s.length();j++) {
	        	if(i==k)
	        		i=0;
	        	if(!isvowel(s.charAt(j)))
	        		i=0;
	        	if(isvowel(s.charAt(j))) {
	        		i++;
	        		lenghts.add(i);
	        		}
	        	
	        }
	        try {
	        return Collections.max(lenghts);
	        }
	        catch (NoSuchElementException e) {
	        return 0;}
	    }
	
	 static int convert(int n) {
		 String s=String.valueOf(n);
		 String s1="";
		 s1+=s.charAt(0);
		 int c=0;
		 for(int i=1;i<s.length();i++)
		 s1+='0';
		 return Integer.parseInt(s1);
	 }
	 static  boolean ispositive(ArrayList<Integer>ar) {
		 for(int i=0;i<ar.size();i++) {
			 if(ar.get(i)>0)
				 return true;
			 }
		 return false;
		 
	 }
	public static void main(String[] args) throws IOException {
int x=scan.nextInt();
int y=scan.nextInt();

		for(int i=0;i<x+1;i++) {
			int a=x-i;
			if (2 * i + 4 * a == y) {
				System.out.println("Yes");
			return;	
			}
			
		}
		System.out.println("No");
		
		
		}
		
 




	
	

	
	

	

	
} import java.io.DataInputStream; DataInputStream java.io import java.io.FileInputStream; FileInputStream java.io import java.io.IOException; IOException java.io import java.util.*; util.* java import javax.sound.sampled.ReverbType; ReverbType javax.sound.sampled public class Main {

	 static Scanner scan=new Scanner(System.in);
	 static int cnt=0;
	 static int M=(int)1e9+7;
	static boolean issamedi(int i,int j){
		if(i>0&&j<0)
			return false;
		if(i>0&&j>0&&i>j)
			return false;
		return true;
		
		
	}

	
		static boolean isvowel(char c) {
			return c=='a'||c=='e'||c=='i'||c=='o'||c=='u';
			
		}
	 public static int maxVowels(String s, int k) {
	        int i=0;
	        ArrayList<Integer>lenghts=new ArrayList<Integer>();
	        for(int j=0;j<s.length();j++) {
	        	if(i==k)
	        		i=0;
	        	if(!isvowel(s.charAt(j)))
	        		i=0;
	        	if(isvowel(s.charAt(j))) {
	        		i++;
	        		lenghts.add(i);
	        		}
	        	
	        }
	        try {
	        return Collections.max(lenghts);
	        }
	        catch (NoSuchElementException e) {
	        return 0;}
	    }
	
	 static int convert(int n) {
		 String s=String.valueOf(n);
		 String s1="";
		 s1+=s.charAt(0);
		 int c=0;
		 for(int i=1;i<s.length();i++)
		 s1+='0';
		 return Integer.parseInt(s1);
	 }
	 static  boolean ispositive(ArrayList<Integer>ar) {
		 for(int i=0;i<ar.size();i++) {
			 if(ar.get(i)>0)
				 return true;
			 }
		 return false;
		 
	 }
	public static void main(String[] args) throws IOException {
int x=scan.nextInt();
int y=scan.nextInt();

		for(int i=0;i<x+1;i++) {
			int a=x-i;
			if (2 * i + 4 * a == y) {
				System.out.println("Yes");
			return;	
			}
			
		}
		System.out.println("No");
		
		
		}
		
 




	
	

	
	

	

	
} Main static Scanner scan=new Scanner(System.in); scan new Scanner(System.in) static int cnt=0; cnt 0 static int M=(int)1e9+7; M (int)1e9+7 (int)1e9 7 static boolean issamedi(int i,int j){
		if(i>0&&j<0)
			return false;
		if(i>0&&j>0&&i>j)
			return false;
		return true;
		
		
	} issamedi {
		if(i>0&&j<0)
			return false;
		if(i>0&&j>0&&i>j)
			return false;
		return true;
		
		
	} if(i>0&&j<0)
			return false; i>0&&j<0 i>0 i 0 j<0 j 0 return false; false if(i>0&&j>0&&i>j)
			return false; i>0&&j>0&&i>j i>0&&j>0&&i>j i>0 i 0 j>0 j 0 i>j i j return false; false return true; true int i i int j j static boolean isvowel(char c) {
			return c=='a'||c=='e'||c=='i'||c=='o'||c=='u';
			
		} isvowel {
			return c=='a'||c=='e'||c=='i'||c=='o'||c=='u';
			
		} return c=='a'||c=='e'||c=='i'||c=='o'||c=='u'; c=='a'||c=='e'||c=='i'||c=='o'||c=='u' c=='o' c=='i' c=='a'||c=='e'||c=='i'||c=='o'||c=='u' c=='a' c 'a' c=='e' c 'e' c=='i' c 'i' c=='o' c 'o' c=='u' c 'u' char c c public static int maxVowels(String s, int k) {
	        int i=0;
	        ArrayList<Integer>lenghts=new ArrayList<Integer>();
	        for(int j=0;j<s.length();j++) {
	        	if(i==k)
	        		i=0;
	        	if(!isvowel(s.charAt(j)))
	        		i=0;
	        	if(isvowel(s.charAt(j))) {
	        		i++;
	        		lenghts.add(i);
	        		}
	        	
	        }
	        try {
	        return Collections.max(lenghts);
	        }
	        catch (NoSuchElementException e) {
	        return 0;}
	    } maxVowels {
	        int i=0;
	        ArrayList<Integer>lenghts=new ArrayList<Integer>();
	        for(int j=0;j<s.length();j++) {
	        	if(i==k)
	        		i=0;
	        	if(!isvowel(s.charAt(j)))
	        		i=0;
	        	if(isvowel(s.charAt(j))) {
	        		i++;
	        		lenghts.add(i);
	        		}
	        	
	        }
	        try {
	        return Collections.max(lenghts);
	        }
	        catch (NoSuchElementException e) {
	        return 0;}
	    } int i=0; i 0 ArrayList<Integer>lenghts=new ArrayList<Integer>(); lenghts new ArrayList<Integer>() for(int j=0;j<s.length();j++) {
	        	if(i==k)
	        		i=0;
	        	if(!isvowel(s.charAt(j)))
	        		i=0;
	        	if(isvowel(s.charAt(j))) {
	        		i++;
	        		lenghts.add(i);
	        		}
	        	
	        } int j=0; int j=0; j 0 j<s.length() j s.length() s.length s j++ j++ j {
	        	if(i==k)
	        		i=0;
	        	if(!isvowel(s.charAt(j)))
	        		i=0;
	        	if(isvowel(s.charAt(j))) {
	        		i++;
	        		lenghts.add(i);
	        		}
	        	
	        } {
	        	if(i==k)
	        		i=0;
	        	if(!isvowel(s.charAt(j)))
	        		i=0;
	        	if(isvowel(s.charAt(j))) {
	        		i++;
	        		lenghts.add(i);
	        		}
	        	
	        } if(i==k)
	        		i=0; i==k i k i=0 i 0 if(!isvowel(s.charAt(j)))
	        		i=0; !isvowel(s.charAt(j)) isvowel(s.charAt(j)) isvowel s.charAt(j) s.charAt s j i=0 i 0 if(isvowel(s.charAt(j))) {
	        		i++;
	        		lenghts.add(i);
	        		} isvowel(s.charAt(j)) isvowel s.charAt(j) s.charAt s j {
	        		i++;
	        		lenghts.add(i);
	        		} i++ i lenghts.add(i) lenghts.add lenghts i try {
	        return Collections.max(lenghts);
	        }
	        catch (NoSuchElementException e) {
	        return 0;} catch (NoSuchElementException e) {
	        return 0;} NoSuchElementException e {
	        return 0;} return 0; 0 {
	        return Collections.max(lenghts);
	        } return Collections.max(lenghts); Collections.max(lenghts) Collections.max Collections lenghts String s s int k k static int convert(int n) {
		 String s=String.valueOf(n);
		 String s1="";
		 s1+=s.charAt(0);
		 int c=0;
		 for(int i=1;i<s.length();i++)
		 s1+='0';
		 return Integer.parseInt(s1);
	 } convert {
		 String s=String.valueOf(n);
		 String s1="";
		 s1+=s.charAt(0);
		 int c=0;
		 for(int i=1;i<s.length();i++)
		 s1+='0';
		 return Integer.parseInt(s1);
	 } String s=String.valueOf(n); s String.valueOf(n) String.valueOf String n String s1=""; s1 "" s1+=s.charAt(0) s1 s.charAt(0) s.charAt s 0 int c=0; c 0 for(int i=1;i<s.length();i++)
		 s1+='0'; int i=1; int i=1; i 1 i<s.length() i s.length() s.length s i++ i++ i s1+='0'; s1+='0' s1 '0' return Integer.parseInt(s1); Integer.parseInt(s1) Integer.parseInt Integer s1 int n n static  boolean ispositive(ArrayList<Integer>ar) {
		 for(int i=0;i<ar.size();i++) {
			 if(ar.get(i)>0)
				 return true;
			 }
		 return false;
		 
	 } ispositive {
		 for(int i=0;i<ar.size();i++) {
			 if(ar.get(i)>0)
				 return true;
			 }
		 return false;
		 
	 } for(int i=0;i<ar.size();i++) {
			 if(ar.get(i)>0)
				 return true;
			 } int i=0; int i=0; i 0 i<ar.size() i ar.size() ar.size ar i++ i++ i {
			 if(ar.get(i)>0)
				 return true;
			 } {
			 if(ar.get(i)>0)
				 return true;
			 } if(ar.get(i)>0)
				 return true; ar.get(i)>0 ar.get(i) ar.get ar i 0 return true; true return false; false ArrayList<Integer>ar ar public static void main(String[] args) throws IOException {
int x=scan.nextInt();
int y=scan.nextInt();

		for(int i=0;i<x+1;i++) {
			int a=x-i;
			if (2 * i + 4 * a == y) {
				System.out.println("Yes");
			return;	
			}
			
		}
		System.out.println("No");
		
		
		} main {
int x=scan.nextInt();
int y=scan.nextInt();

		for(int i=0;i<x+1;i++) {
			int a=x-i;
			if (2 * i + 4 * a == y) {
				System.out.println("Yes");
			return;	
			}
			
		}
		System.out.println("No");
		
		
		} int x=scan.nextInt(); x scan.nextInt() scan.nextInt scan int y=scan.nextInt(); y scan.nextInt() scan.nextInt scan for(int i=0;i<x+1;i++) {
			int a=x-i;
			if (2 * i + 4 * a == y) {
				System.out.println("Yes");
			return;	
			}
			
		} int i=0; int i=0; i 0 i<x+1 i x+1 x 1 i++ i++ i {
			int a=x-i;
			if (2 * i + 4 * a == y) {
				System.out.println("Yes");
			return;	
			}
			
		} {
			int a=x-i;
			if (2 * i + 4 * a == y) {
				System.out.println("Yes");
			return;	
			}
			
		} int a=x-i; a x-i x i if (2 * i + 4 * a == y) {
				System.out.println("Yes");
			return;	
			} 2 * i + 4 * a == y 2 * i + 4 * a 2 * i 2 i 4 * a 4 a y {
				System.out.println("Yes");
			return;	
			} System.out.println("Yes") System.out.println System.out System System.out "Yes" return; System.out.println("No") System.out.println System.out System System.out "No" String[] args args public class Main {

	 static Scanner scan=new Scanner(System.in);
	 static int cnt=0;
	 static int M=(int)1e9+7;
	static boolean issamedi(int i,int j){
		if(i>0&&j<0)
			return false;
		if(i>0&&j>0&&i>j)
			return false;
		return true;
		
		
	}

	
		static boolean isvowel(char c) {
			return c=='a'||c=='e'||c=='i'||c=='o'||c=='u';
			
		}
	 public static int maxVowels(String s, int k) {
	        int i=0;
	        ArrayList<Integer>lenghts=new ArrayList<Integer>();
	        for(int j=0;j<s.length();j++) {
	        	if(i==k)
	        		i=0;
	        	if(!isvowel(s.charAt(j)))
	        		i=0;
	        	if(isvowel(s.charAt(j))) {
	        		i++;
	        		lenghts.add(i);
	        		}
	        	
	        }
	        try {
	        return Collections.max(lenghts);
	        }
	        catch (NoSuchElementException e) {
	        return 0;}
	    }
	
	 static int convert(int n) {
		 String s=String.valueOf(n);
		 String s1="";
		 s1+=s.charAt(0);
		 int c=0;
		 for(int i=1;i<s.length();i++)
		 s1+='0';
		 return Integer.parseInt(s1);
	 }
	 static  boolean ispositive(ArrayList<Integer>ar) {
		 for(int i=0;i<ar.size();i++) {
			 if(ar.get(i)>0)
				 return true;
			 }
		 return false;
		 
	 }
	public static void main(String[] args) throws IOException {
int x=scan.nextInt();
int y=scan.nextInt();

		for(int i=0;i<x+1;i++) {
			int a=x-i;
			if (2 * i + 4 * a == y) {
				System.out.println("Yes");
			return;	
			}
			
		}
		System.out.println("No");
		
		
		}
		
 




	
	

	
	

	

	
} public class Main {

	 static Scanner scan=new Scanner(System.in);
	 static int cnt=0;
	 static int M=(int)1e9+7;
	static boolean issamedi(int i,int j){
		if(i>0&&j<0)
			return false;
		if(i>0&&j>0&&i>j)
			return false;
		return true;
		
		
	}

	
		static boolean isvowel(char c) {
			return c=='a'||c=='e'||c=='i'||c=='o'||c=='u';
			
		}
	 public static int maxVowels(String s, int k) {
	        int i=0;
	        ArrayList<Integer>lenghts=new ArrayList<Integer>();
	        for(int j=0;j<s.length();j++) {
	        	if(i==k)
	        		i=0;
	        	if(!isvowel(s.charAt(j)))
	        		i=0;
	        	if(isvowel(s.charAt(j))) {
	        		i++;
	        		lenghts.add(i);
	        		}
	        	
	        }
	        try {
	        return Collections.max(lenghts);
	        }
	        catch (NoSuchElementException e) {
	        return 0;}
	    }
	
	 static int convert(int n) {
		 String s=String.valueOf(n);
		 String s1="";
		 s1+=s.charAt(0);
		 int c=0;
		 for(int i=1;i<s.length();i++)
		 s1+='0';
		 return Integer.parseInt(s1);
	 }
	 static  boolean ispositive(ArrayList<Integer>ar) {
		 for(int i=0;i<ar.size();i++) {
			 if(ar.get(i)>0)
				 return true;
			 }
		 return false;
		 
	 }
	public static void main(String[] args) throws IOException {
int x=scan.nextInt();
int y=scan.nextInt();

		for(int i=0;i<x+1;i++) {
			int a=x-i;
			if (2 * i + 4 * a == y) {
				System.out.println("Yes");
			return;	
			}
			
		}
		System.out.println("No");
		
		
		}
		
 




	
	

	
	

	

	
} Main
 import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.*;

import javax.sound.sampled.ReverbType;

public class Main {

	 static Scanner scan=new Scanner(System.in);
	 static int cnt=0;
	 static int M=(int)1e9+7;
	static boolean issamedi(int i,int j){
		if(i>0&&j<0)
			return false;
		if(i>0&&j>0&&i>j)
			return false;
		return true;
		
		
	}

	
		static boolean isvowel(char c) {
			return c=='a'||c=='e'||c=='i'||c=='o'||c=='u';
			
		}
	 public static int maxVowels(String s, int k) {
	        int i=0;
	        ArrayList<Integer>lenghts=new ArrayList<Integer>();
	        for(int j=0;j<s.length();j++) {
	        	if(i==k)
	        		i=0;
	        	if(!isvowel(s.charAt(j)))
	        		i=0;
	        	if(isvowel(s.charAt(j))) {
	        		i++;
	        		lenghts.add(i);
	        		}
	        	
	        }
	        try {
	        return Collections.max(lenghts);
	        }
	        catch (NoSuchElementException e) {
	        return 0;}
	    }
	
	 static int convert(int n) {
		 String s=String.valueOf(n);
		 String s1="";
		 s1+=s.charAt(0);
		 int c=0;
		 for(int i=1;i<s.length();i++)
		 s1+='0';
		 return Integer.parseInt(s1);
	 }
	 static  boolean ispositive(ArrayList<Integer>ar) {
		 for(int i=0;i<ar.size();i++) {
			 if(ar.get(i)>0)
				 return true;
			 }
		 return false;
		 
	 }
	public static void main(String[] args) throws IOException {
int x=scan.nextInt();
int y=scan.nextInt();

		for(int i=0;i<x+1;i++) {
			int a=x-i;
			if (2 * i + 4 * a == y) {
				System.out.println("Yes");
			return;	
			}
			
		}
		System.out.println("No");
		
		
		}
		
 




	
	

	
	

	

	
}
