import java.util.Scanner;

public class Main{
    public  static void main(String[] args) {
    	try (Scanner sc = new Scanner(System.in)) {
    		int N=sc.nextInt();
    		int[] t=new int[100001];
    		int[] x=new int[100001];
    		int[] y=new int[100001];
    		for(int i=0; i<N; i++) {
    			t[i+1]=sc.nextInt();
    			x[i+1]=sc.nextInt();
    			y[i+1]=sc.nextInt();
    		}
    		boolean can=true;
    		for(int i=0; i<N; i++) {
    			int dt=t[i+1]-t[i];
    			int dist=Math.abs(x[i+1]-x[i])+Math.abs(y[i+1]-y[i]);
    			if(dt<dist) {
    				can=false;
    			}
    			if(dist%2!=dt%2) {
    				can=false;
    			}
    		}
    		if(can)	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) {
    	try (Scanner sc = new Scanner(System.in)) {
    		int N=sc.nextInt();
    		int[] t=new int[100001];
    		int[] x=new int[100001];
    		int[] y=new int[100001];
    		for(int i=0; i<N; i++) {
    			t[i+1]=sc.nextInt();
    			x[i+1]=sc.nextInt();
    			y[i+1]=sc.nextInt();
    		}
    		boolean can=true;
    		for(int i=0; i<N; i++) {
    			int dt=t[i+1]-t[i];
    			int dist=Math.abs(x[i+1]-x[i])+Math.abs(y[i+1]-y[i]);
    			if(dt<dist) {
    				can=false;
    			}
    			if(dist%2!=dt%2) {
    				can=false;
    			}
    		}
    		if(can)	System.out.println("Yes");
    		else	System.out.println("No");
    	}
    }
} Main public  static void main(String[] args) {
    	try (Scanner sc = new Scanner(System.in)) {
    		int N=sc.nextInt();
    		int[] t=new int[100001];
    		int[] x=new int[100001];
    		int[] y=new int[100001];
    		for(int i=0; i<N; i++) {
    			t[i+1]=sc.nextInt();
    			x[i+1]=sc.nextInt();
    			y[i+1]=sc.nextInt();
    		}
    		boolean can=true;
    		for(int i=0; i<N; i++) {
    			int dt=t[i+1]-t[i];
    			int dist=Math.abs(x[i+1]-x[i])+Math.abs(y[i+1]-y[i]);
    			if(dt<dist) {
    				can=false;
    			}
    			if(dist%2!=dt%2) {
    				can=false;
    			}
    		}
    		if(can)	System.out.println("Yes");
    		else	System.out.println("No");
    	}
    } main {
    	try (Scanner sc = new Scanner(System.in)) {
    		int N=sc.nextInt();
    		int[] t=new int[100001];
    		int[] x=new int[100001];
    		int[] y=new int[100001];
    		for(int i=0; i<N; i++) {
    			t[i+1]=sc.nextInt();
    			x[i+1]=sc.nextInt();
    			y[i+1]=sc.nextInt();
    		}
    		boolean can=true;
    		for(int i=0; i<N; i++) {
    			int dt=t[i+1]-t[i];
    			int dist=Math.abs(x[i+1]-x[i])+Math.abs(y[i+1]-y[i]);
    			if(dt<dist) {
    				can=false;
    			}
    			if(dist%2!=dt%2) {
    				can=false;
    			}
    		}
    		if(can)	System.out.println("Yes");
    		else	System.out.println("No");
    	}
    } try (Scanner sc = new Scanner(System.in)) {
    		int N=sc.nextInt();
    		int[] t=new int[100001];
    		int[] x=new int[100001];
    		int[] y=new int[100001];
    		for(int i=0; i<N; i++) {
    			t[i+1]=sc.nextInt();
    			x[i+1]=sc.nextInt();
    			y[i+1]=sc.nextInt();
    		}
    		boolean can=true;
    		for(int i=0; i<N; i++) {
    			int dt=t[i+1]-t[i];
    			int dist=Math.abs(x[i+1]-x[i])+Math.abs(y[i+1]-y[i]);
    			if(dt<dist) {
    				can=false;
    			}
    			if(dist%2!=dt%2) {
    				can=false;
    			}
    		}
    		if(can)	System.out.println("Yes");
    		else	System.out.println("No");
    	} {
    		int N=sc.nextInt();
    		int[] t=new int[100001];
    		int[] x=new int[100001];
    		int[] y=new int[100001];
    		for(int i=0; i<N; i++) {
    			t[i+1]=sc.nextInt();
    			x[i+1]=sc.nextInt();
    			y[i+1]=sc.nextInt();
    		}
    		boolean can=true;
    		for(int i=0; i<N; i++) {
    			int dt=t[i+1]-t[i];
    			int dist=Math.abs(x[i+1]-x[i])+Math.abs(y[i+1]-y[i]);
    			if(dt<dist) {
    				can=false;
    			}
    			if(dist%2!=dt%2) {
    				can=false;
    			}
    		}
    		if(can)	System.out.println("Yes");
    		else	System.out.println("No");
    	} Scanner sc = new Scanner(System.in) Scanner sc = new Scanner(System.in) new Scanner(System.in) int N=sc.nextInt(); N sc.nextInt() sc.nextInt sc int[] t=new int[100001]; t new int[100001] 100001 int[] x=new int[100001]; x new int[100001] 100001 int[] y=new int[100001]; y new int[100001] 100001 for(int i=0; i<N; i++) {
    			t[i+1]=sc.nextInt();
    			x[i+1]=sc.nextInt();
    			y[i+1]=sc.nextInt();
    		} int i=0; int i=0; i 0 i<N i N i++ i++ i {
    			t[i+1]=sc.nextInt();
    			x[i+1]=sc.nextInt();
    			y[i+1]=sc.nextInt();
    		} {
    			t[i+1]=sc.nextInt();
    			x[i+1]=sc.nextInt();
    			y[i+1]=sc.nextInt();
    		} t[i+1]=sc.nextInt() t[i+1] t i+1 i 1 sc.nextInt() sc.nextInt sc x[i+1]=sc.nextInt() x[i+1] x i+1 i 1 sc.nextInt() sc.nextInt sc y[i+1]=sc.nextInt() y[i+1] y i+1 i 1 sc.nextInt() sc.nextInt sc boolean can=true; can true for(int i=0; i<N; i++) {
    			int dt=t[i+1]-t[i];
    			int dist=Math.abs(x[i+1]-x[i])+Math.abs(y[i+1]-y[i]);
    			if(dt<dist) {
    				can=false;
    			}
    			if(dist%2!=dt%2) {
    				can=false;
    			}
    		} int i=0; int i=0; i 0 i<N i N i++ i++ i {
    			int dt=t[i+1]-t[i];
    			int dist=Math.abs(x[i+1]-x[i])+Math.abs(y[i+1]-y[i]);
    			if(dt<dist) {
    				can=false;
    			}
    			if(dist%2!=dt%2) {
    				can=false;
    			}
    		} {
    			int dt=t[i+1]-t[i];
    			int dist=Math.abs(x[i+1]-x[i])+Math.abs(y[i+1]-y[i]);
    			if(dt<dist) {
    				can=false;
    			}
    			if(dist%2!=dt%2) {
    				can=false;
    			}
    		} int dt=t[i+1]-t[i]; dt t[i+1]-t[i] t[i+1] t i+1 i 1 t[i] t i int dist=Math.abs(x[i+1]-x[i])+Math.abs(y[i+1]-y[i]); dist Math.abs(x[i+1]-x[i])+Math.abs(y[i+1]-y[i]) Math.abs(x[i+1]-x[i]) Math.abs Math x[i+1]-x[i] x[i+1] x i+1 i 1 x[i] x i Math.abs(y[i+1]-y[i]) Math.abs Math y[i+1]-y[i] y[i+1] y i+1 i 1 y[i] y i if(dt<dist) {
    				can=false;
    			} dt<dist dt dist {
    				can=false;
    			} can=false can false if(dist%2!=dt%2) {
    				can=false;
    			} dist%2!=dt%2 dist%2 dist 2 dt%2 dt 2 {
    				can=false;
    			} can=false can false if(can)	System.out.println("Yes");
    		else	System.out.println("No"); can System.out.println("Yes") System.out.println System.out System System.out "Yes" 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) {
    	try (Scanner sc = new Scanner(System.in)) {
    		int N=sc.nextInt();
    		int[] t=new int[100001];
    		int[] x=new int[100001];
    		int[] y=new int[100001];
    		for(int i=0; i<N; i++) {
    			t[i+1]=sc.nextInt();
    			x[i+1]=sc.nextInt();
    			y[i+1]=sc.nextInt();
    		}
    		boolean can=true;
    		for(int i=0; i<N; i++) {
    			int dt=t[i+1]-t[i];
    			int dist=Math.abs(x[i+1]-x[i])+Math.abs(y[i+1]-y[i]);
    			if(dt<dist) {
    				can=false;
    			}
    			if(dist%2!=dt%2) {
    				can=false;
    			}
    		}
    		if(can)	System.out.println("Yes");
    		else	System.out.println("No");
    	}
    }
} public class Main{
    public  static void main(String[] args) {
    	try (Scanner sc = new Scanner(System.in)) {
    		int N=sc.nextInt();
    		int[] t=new int[100001];
    		int[] x=new int[100001];
    		int[] y=new int[100001];
    		for(int i=0; i<N; i++) {
    			t[i+1]=sc.nextInt();
    			x[i+1]=sc.nextInt();
    			y[i+1]=sc.nextInt();
    		}
    		boolean can=true;
    		for(int i=0; i<N; i++) {
    			int dt=t[i+1]-t[i];
    			int dist=Math.abs(x[i+1]-x[i])+Math.abs(y[i+1]-y[i]);
    			if(dt<dist) {
    				can=false;
    			}
    			if(dist%2!=dt%2) {
    				can=false;
    			}
    		}
    		if(can)	System.out.println("Yes");
    		else	System.out.println("No");
    	}
    }
} Main
import java.util.Scanner;

public class Main{
    public  static void main(String[] args) {
    	try (Scanner sc = new Scanner(System.in)) {
    		int N=sc.nextInt();
    		int[] t=new int[100001];
    		int[] x=new int[100001];
    		int[] y=new int[100001];
    		for(int i=0; i<N; i++) {
    			t[i+1]=sc.nextInt();
    			x[i+1]=sc.nextInt();
    			y[i+1]=sc.nextInt();
    		}
    		boolean can=true;
    		for(int i=0; i<N; i++) {
    			int dt=t[i+1]-t[i];
    			int dist=Math.abs(x[i+1]-x[i])+Math.abs(y[i+1]-y[i]);
    			if(dt<dist) {
    				can=false;
    			}
    			if(dist%2!=dt%2) {
    				can=false;
    			}
    		}
    		if(can)	System.out.println("Yes");
    		else	System.out.println("No");
    	}
    }
}