import java.util.*;
public class Main {
	public static void main(String[] args)  {
		Scanner scan =new Scanner(System.in);
		int t,old_t=0,x,y,old_x=0,old_y=0;
		int n=Integer.parseInt(scan.nextLine());
		boolean ans =true;
		int d,tmp;
		for (int i = 0;i < n; ++i){
			t=Integer.parseInt(scan.next());
			x=Integer.parseInt(scan.next());
			y=Integer.parseInt(scan.next());scan.nextLine();
			d=Math.abs(x-old_x)+Math.abs(y-old_y);
			old_x=x;old_y=y;
			tmp=t;
			t=Math.abs(old_t-t);
			old_t=tmp;
			if (t>=d){
				if (!((t-d)%2==0)){
					ans=false;
				}
			}else{
				ans = false;
			}

		}

		System.out.print(ans?"Yes":"No");

	}
}
//end import java.util.*; util.* java public class Main {
	public static void main(String[] args)  {
		Scanner scan =new Scanner(System.in);
		int t,old_t=0,x,y,old_x=0,old_y=0;
		int n=Integer.parseInt(scan.nextLine());
		boolean ans =true;
		int d,tmp;
		for (int i = 0;i < n; ++i){
			t=Integer.parseInt(scan.next());
			x=Integer.parseInt(scan.next());
			y=Integer.parseInt(scan.next());scan.nextLine();
			d=Math.abs(x-old_x)+Math.abs(y-old_y);
			old_x=x;old_y=y;
			tmp=t;
			t=Math.abs(old_t-t);
			old_t=tmp;
			if (t>=d){
				if (!((t-d)%2==0)){
					ans=false;
				}
			}else{
				ans = false;
			}

		}

		System.out.print(ans?"Yes":"No");

	}
} Main public static void main(String[] args)  {
		Scanner scan =new Scanner(System.in);
		int t,old_t=0,x,y,old_x=0,old_y=0;
		int n=Integer.parseInt(scan.nextLine());
		boolean ans =true;
		int d,tmp;
		for (int i = 0;i < n; ++i){
			t=Integer.parseInt(scan.next());
			x=Integer.parseInt(scan.next());
			y=Integer.parseInt(scan.next());scan.nextLine();
			d=Math.abs(x-old_x)+Math.abs(y-old_y);
			old_x=x;old_y=y;
			tmp=t;
			t=Math.abs(old_t-t);
			old_t=tmp;
			if (t>=d){
				if (!((t-d)%2==0)){
					ans=false;
				}
			}else{
				ans = false;
			}

		}

		System.out.print(ans?"Yes":"No");

	} main {
		Scanner scan =new Scanner(System.in);
		int t,old_t=0,x,y,old_x=0,old_y=0;
		int n=Integer.parseInt(scan.nextLine());
		boolean ans =true;
		int d,tmp;
		for (int i = 0;i < n; ++i){
			t=Integer.parseInt(scan.next());
			x=Integer.parseInt(scan.next());
			y=Integer.parseInt(scan.next());scan.nextLine();
			d=Math.abs(x-old_x)+Math.abs(y-old_y);
			old_x=x;old_y=y;
			tmp=t;
			t=Math.abs(old_t-t);
			old_t=tmp;
			if (t>=d){
				if (!((t-d)%2==0)){
					ans=false;
				}
			}else{
				ans = false;
			}

		}

		System.out.print(ans?"Yes":"No");

	} Scanner scan =new Scanner(System.in); scan new Scanner(System.in) int t t old_t=0 old_t 0 x x y y old_x=0 old_x 0 old_y=0; old_y 0 int n=Integer.parseInt(scan.nextLine()); n Integer.parseInt(scan.nextLine()) Integer.parseInt Integer scan.nextLine() scan.nextLine scan boolean ans =true; ans true int d d tmp; tmp for (int i = 0;i < n; ++i){
			t=Integer.parseInt(scan.next());
			x=Integer.parseInt(scan.next());
			y=Integer.parseInt(scan.next());scan.nextLine();
			d=Math.abs(x-old_x)+Math.abs(y-old_y);
			old_x=x;old_y=y;
			tmp=t;
			t=Math.abs(old_t-t);
			old_t=tmp;
			if (t>=d){
				if (!((t-d)%2==0)){
					ans=false;
				}
			}else{
				ans = false;
			}

		} int i = 0; int i = 0; i 0 i < n i n ++i ++i i {
			t=Integer.parseInt(scan.next());
			x=Integer.parseInt(scan.next());
			y=Integer.parseInt(scan.next());scan.nextLine();
			d=Math.abs(x-old_x)+Math.abs(y-old_y);
			old_x=x;old_y=y;
			tmp=t;
			t=Math.abs(old_t-t);
			old_t=tmp;
			if (t>=d){
				if (!((t-d)%2==0)){
					ans=false;
				}
			}else{
				ans = false;
			}

		} {
			t=Integer.parseInt(scan.next());
			x=Integer.parseInt(scan.next());
			y=Integer.parseInt(scan.next());scan.nextLine();
			d=Math.abs(x-old_x)+Math.abs(y-old_y);
			old_x=x;old_y=y;
			tmp=t;
			t=Math.abs(old_t-t);
			old_t=tmp;
			if (t>=d){
				if (!((t-d)%2==0)){
					ans=false;
				}
			}else{
				ans = false;
			}

		} t=Integer.parseInt(scan.next()) t Integer.parseInt(scan.next()) Integer.parseInt Integer scan.next() scan.next scan x=Integer.parseInt(scan.next()) x Integer.parseInt(scan.next()) Integer.parseInt Integer scan.next() scan.next scan y=Integer.parseInt(scan.next()) y Integer.parseInt(scan.next()) Integer.parseInt Integer scan.next() scan.next scan scan.nextLine() scan.nextLine scan d=Math.abs(x-old_x)+Math.abs(y-old_y) d Math.abs(x-old_x)+Math.abs(y-old_y) Math.abs(x-old_x) Math.abs Math x-old_x x old_x Math.abs(y-old_y) Math.abs Math y-old_y y old_y old_x=x old_x x old_y=y old_y y tmp=t tmp t t=Math.abs(old_t-t) t Math.abs(old_t-t) Math.abs Math old_t-t old_t t old_t=tmp old_t tmp if (t>=d){
				if (!((t-d)%2==0)){
					ans=false;
				}
			}else{
				ans = false;
			} t>=d t d {
				if (!((t-d)%2==0)){
					ans=false;
				}
			} if (!((t-d)%2==0)){
					ans=false;
				} !((t-d)%2==0) ((t-d)%2==0) (t-d)%2 (t-d) t d 2 0 {
					ans=false;
				} ans=false ans false {
				ans = false;
			} ans = false ans false System.out.print(ans?"Yes":"No") System.out.print System.out System System.out ans?"Yes":"No" ans "Yes" "No" String[] args args public class Main {
	public static void main(String[] args)  {
		Scanner scan =new Scanner(System.in);
		int t,old_t=0,x,y,old_x=0,old_y=0;
		int n=Integer.parseInt(scan.nextLine());
		boolean ans =true;
		int d,tmp;
		for (int i = 0;i < n; ++i){
			t=Integer.parseInt(scan.next());
			x=Integer.parseInt(scan.next());
			y=Integer.parseInt(scan.next());scan.nextLine();
			d=Math.abs(x-old_x)+Math.abs(y-old_y);
			old_x=x;old_y=y;
			tmp=t;
			t=Math.abs(old_t-t);
			old_t=tmp;
			if (t>=d){
				if (!((t-d)%2==0)){
					ans=false;
				}
			}else{
				ans = false;
			}

		}

		System.out.print(ans?"Yes":"No");

	}
} public class Main {
	public static void main(String[] args)  {
		Scanner scan =new Scanner(System.in);
		int t,old_t=0,x,y,old_x=0,old_y=0;
		int n=Integer.parseInt(scan.nextLine());
		boolean ans =true;
		int d,tmp;
		for (int i = 0;i < n; ++i){
			t=Integer.parseInt(scan.next());
			x=Integer.parseInt(scan.next());
			y=Integer.parseInt(scan.next());scan.nextLine();
			d=Math.abs(x-old_x)+Math.abs(y-old_y);
			old_x=x;old_y=y;
			tmp=t;
			t=Math.abs(old_t-t);
			old_t=tmp;
			if (t>=d){
				if (!((t-d)%2==0)){
					ans=false;
				}
			}else{
				ans = false;
			}

		}

		System.out.print(ans?"Yes":"No");

	}
} Main
import java.util.*;
public class Main {
	public static void main(String[] args)  {
		Scanner scan =new Scanner(System.in);
		int t,old_t=0,x,y,old_x=0,old_y=0;
		int n=Integer.parseInt(scan.nextLine());
		boolean ans =true;
		int d,tmp;
		for (int i = 0;i < n; ++i){
			t=Integer.parseInt(scan.next());
			x=Integer.parseInt(scan.next());
			y=Integer.parseInt(scan.next());scan.nextLine();
			d=Math.abs(x-old_x)+Math.abs(y-old_y);
			old_x=x;old_y=y;
			tmp=t;
			t=Math.abs(old_t-t);
			old_t=tmp;
			if (t>=d){
				if (!((t-d)%2==0)){
					ans=false;
				}
			}else{
				ans = false;
			}

		}

		System.out.print(ans?"Yes":"No");

	}
}
//end
