import java.util.Scanner;

class Main{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int xdif=0;
		int ydif=0;
		int time=0;

		int nyuryoku=sc.nextInt();
		int tmp1t,tmp2t,tmp1x,tmp2x,tmp1y,tmp2y;
		boolean tadori=true;
		tmp2t=0;
		tmp2x=0;
		tmp2y=0;
		for(int i=0; i<nyuryoku; i++) {
			tmp1t=sc.nextInt();
			tmp1x=sc.nextInt();
			tmp1y=sc.nextInt();

			if(i==0) {
				if(tmp1t-tmp1x-tmp1y<0 || (tmp1t-tmp1x-tmp1y)%2==1) {
					tadori=false;
				}
			}
			else if(tadori==true){
				if((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y)<0 || ((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y))%2==1) {
					tadori=false;
				}
			}
			tmp2t=tmp1t;
			tmp2x=tmp1x;
			tmp2y=tmp1y;
		}

		if(tadori) {
			System.out.println("Yes");
		}
		else {
			System.out.println("No");
		}
	}
} import java.util.Scanner; Scanner java.util class Main{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int xdif=0;
		int ydif=0;
		int time=0;

		int nyuryoku=sc.nextInt();
		int tmp1t,tmp2t,tmp1x,tmp2x,tmp1y,tmp2y;
		boolean tadori=true;
		tmp2t=0;
		tmp2x=0;
		tmp2y=0;
		for(int i=0; i<nyuryoku; i++) {
			tmp1t=sc.nextInt();
			tmp1x=sc.nextInt();
			tmp1y=sc.nextInt();

			if(i==0) {
				if(tmp1t-tmp1x-tmp1y<0 || (tmp1t-tmp1x-tmp1y)%2==1) {
					tadori=false;
				}
			}
			else if(tadori==true){
				if((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y)<0 || ((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y))%2==1) {
					tadori=false;
				}
			}
			tmp2t=tmp1t;
			tmp2x=tmp1x;
			tmp2y=tmp1y;
		}

		if(tadori) {
			System.out.println("Yes");
		}
		else {
			System.out.println("No");
		}
	}
} Main public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int xdif=0;
		int ydif=0;
		int time=0;

		int nyuryoku=sc.nextInt();
		int tmp1t,tmp2t,tmp1x,tmp2x,tmp1y,tmp2y;
		boolean tadori=true;
		tmp2t=0;
		tmp2x=0;
		tmp2y=0;
		for(int i=0; i<nyuryoku; i++) {
			tmp1t=sc.nextInt();
			tmp1x=sc.nextInt();
			tmp1y=sc.nextInt();

			if(i==0) {
				if(tmp1t-tmp1x-tmp1y<0 || (tmp1t-tmp1x-tmp1y)%2==1) {
					tadori=false;
				}
			}
			else if(tadori==true){
				if((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y)<0 || ((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y))%2==1) {
					tadori=false;
				}
			}
			tmp2t=tmp1t;
			tmp2x=tmp1x;
			tmp2y=tmp1y;
		}

		if(tadori) {
			System.out.println("Yes");
		}
		else {
			System.out.println("No");
		}
	} main {
		Scanner sc=new Scanner(System.in);
		int xdif=0;
		int ydif=0;
		int time=0;

		int nyuryoku=sc.nextInt();
		int tmp1t,tmp2t,tmp1x,tmp2x,tmp1y,tmp2y;
		boolean tadori=true;
		tmp2t=0;
		tmp2x=0;
		tmp2y=0;
		for(int i=0; i<nyuryoku; i++) {
			tmp1t=sc.nextInt();
			tmp1x=sc.nextInt();
			tmp1y=sc.nextInt();

			if(i==0) {
				if(tmp1t-tmp1x-tmp1y<0 || (tmp1t-tmp1x-tmp1y)%2==1) {
					tadori=false;
				}
			}
			else if(tadori==true){
				if((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y)<0 || ((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y))%2==1) {
					tadori=false;
				}
			}
			tmp2t=tmp1t;
			tmp2x=tmp1x;
			tmp2y=tmp1y;
		}

		if(tadori) {
			System.out.println("Yes");
		}
		else {
			System.out.println("No");
		}
	} Scanner sc=new Scanner(System.in); sc new Scanner(System.in) int xdif=0; xdif 0 int ydif=0; ydif 0 int time=0; time 0 int nyuryoku=sc.nextInt(); nyuryoku sc.nextInt() sc.nextInt sc int tmp1t tmp1t tmp2t tmp2t tmp1x tmp1x tmp2x tmp2x tmp1y tmp1y tmp2y; tmp2y boolean tadori=true; tadori true tmp2t=0 tmp2t 0 tmp2x=0 tmp2x 0 tmp2y=0 tmp2y 0 for(int i=0; i<nyuryoku; i++) {
			tmp1t=sc.nextInt();
			tmp1x=sc.nextInt();
			tmp1y=sc.nextInt();

			if(i==0) {
				if(tmp1t-tmp1x-tmp1y<0 || (tmp1t-tmp1x-tmp1y)%2==1) {
					tadori=false;
				}
			}
			else if(tadori==true){
				if((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y)<0 || ((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y))%2==1) {
					tadori=false;
				}
			}
			tmp2t=tmp1t;
			tmp2x=tmp1x;
			tmp2y=tmp1y;
		} int i=0; int i=0; i 0 i<nyuryoku i nyuryoku i++ i++ i {
			tmp1t=sc.nextInt();
			tmp1x=sc.nextInt();
			tmp1y=sc.nextInt();

			if(i==0) {
				if(tmp1t-tmp1x-tmp1y<0 || (tmp1t-tmp1x-tmp1y)%2==1) {
					tadori=false;
				}
			}
			else if(tadori==true){
				if((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y)<0 || ((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y))%2==1) {
					tadori=false;
				}
			}
			tmp2t=tmp1t;
			tmp2x=tmp1x;
			tmp2y=tmp1y;
		} {
			tmp1t=sc.nextInt();
			tmp1x=sc.nextInt();
			tmp1y=sc.nextInt();

			if(i==0) {
				if(tmp1t-tmp1x-tmp1y<0 || (tmp1t-tmp1x-tmp1y)%2==1) {
					tadori=false;
				}
			}
			else if(tadori==true){
				if((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y)<0 || ((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y))%2==1) {
					tadori=false;
				}
			}
			tmp2t=tmp1t;
			tmp2x=tmp1x;
			tmp2y=tmp1y;
		} tmp1t=sc.nextInt() tmp1t sc.nextInt() sc.nextInt sc tmp1x=sc.nextInt() tmp1x sc.nextInt() sc.nextInt sc tmp1y=sc.nextInt() tmp1y sc.nextInt() sc.nextInt sc if(i==0) {
				if(tmp1t-tmp1x-tmp1y<0 || (tmp1t-tmp1x-tmp1y)%2==1) {
					tadori=false;
				}
			}
			else if(tadori==true){
				if((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y)<0 || ((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y))%2==1) {
					tadori=false;
				}
			} i==0 i 0 {
				if(tmp1t-tmp1x-tmp1y<0 || (tmp1t-tmp1x-tmp1y)%2==1) {
					tadori=false;
				}
			} if(tmp1t-tmp1x-tmp1y<0 || (tmp1t-tmp1x-tmp1y)%2==1) {
					tadori=false;
				} tmp1t-tmp1x-tmp1y<0 || (tmp1t-tmp1x-tmp1y)%2==1 tmp1t-tmp1x-tmp1y<0 tmp1t-tmp1x-tmp1y tmp1t-tmp1x-tmp1y tmp1t tmp1x tmp1y 0 (tmp1t-tmp1x-tmp1y)%2==1 (tmp1t-tmp1x-tmp1y)%2 (tmp1t-tmp1x-tmp1y) tmp1t-tmp1x-tmp1y tmp1t tmp1x tmp1y 2 1 {
					tadori=false;
				} tadori=false tadori false if(tadori==true){
				if((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y)<0 || ((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y))%2==1) {
					tadori=false;
				}
			} tadori==true tadori true {
				if((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y)<0 || ((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y))%2==1) {
					tadori=false;
				}
			} if((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y)<0 || ((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y))%2==1) {
					tadori=false;
				} (tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y)<0 || ((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y))%2==1 (tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y)<0 (tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y) (tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y) (tmp1t-tmp2t) tmp1t tmp2t Math.abs(tmp1x-tmp2x) Math.abs Math tmp1x-tmp2x tmp1x tmp2x Math.abs(tmp1y-tmp2y) Math.abs Math tmp1y-tmp2y tmp1y tmp2y 0 ((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y))%2==1 ((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y))%2 ((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y)) (tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y) (tmp1t-tmp2t) tmp1t tmp2t Math.abs(tmp1x-tmp2x) Math.abs Math tmp1x-tmp2x tmp1x tmp2x Math.abs(tmp1y-tmp2y) Math.abs Math tmp1y-tmp2y tmp1y tmp2y 2 1 {
					tadori=false;
				} tadori=false tadori false tmp2t=tmp1t tmp2t tmp1t tmp2x=tmp1x tmp2x tmp1x tmp2y=tmp1y tmp2y tmp1y if(tadori) {
			System.out.println("Yes");
		}
		else {
			System.out.println("No");
		} tadori {
			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
import java.util.Scanner;

class Main{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int xdif=0;
		int ydif=0;
		int time=0;

		int nyuryoku=sc.nextInt();
		int tmp1t,tmp2t,tmp1x,tmp2x,tmp1y,tmp2y;
		boolean tadori=true;
		tmp2t=0;
		tmp2x=0;
		tmp2y=0;
		for(int i=0; i<nyuryoku; i++) {
			tmp1t=sc.nextInt();
			tmp1x=sc.nextInt();
			tmp1y=sc.nextInt();

			if(i==0) {
				if(tmp1t-tmp1x-tmp1y<0 || (tmp1t-tmp1x-tmp1y)%2==1) {
					tadori=false;
				}
			}
			else if(tadori==true){
				if((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y)<0 || ((tmp1t-tmp2t)-Math.abs(tmp1x-tmp2x)-Math.abs(tmp1y-tmp2y))%2==1) {
					tadori=false;
				}
			}
			tmp2t=tmp1t;
			tmp2x=tmp1x;
			tmp2y=tmp1y;
		}

		if(tadori) {
			System.out.println("Yes");
		}
		else {
			System.out.println("No");
		}
	}
}