import java.io.*;
import java.util.*;
public class Main { // "Main" should be used for most online judges
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//String s = sc.nextLine();
		//int count = sc.nextInt();
		int num = sc.nextInt();
		int nums[] = new int[num];
		int t[] = new int[num];
		int x[] = new int[num];
		int y[] = new int[num];
		for(int i = 0; i < num; i++) {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();
		}
		for(int i = 0; i < num; i++) {
			int sum = 0;
			int time = t[i] - (i==0?0:t[i-1]);
			if(i == 0) {
				sum = x[i] + y[i];
			}
			else {
				sum = x[i] - x[i - 1] + y[i] - y[i-1];
			}
			if(sum > time) {
				System.out.println("No");
				return;
			}
			else if(sum < time) {
				if((time - sum) % 2 != 0) { System.out.println("No"); return;}
			}
		}
		System.out.println("Yes");
	}
} import java.io.*; io.* java import java.util.*; util.* java public class Main { // "Main" should be used for most online judges
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//String s = sc.nextLine();
		//int count = sc.nextInt();
		int num = sc.nextInt();
		int nums[] = new int[num];
		int t[] = new int[num];
		int x[] = new int[num];
		int y[] = new int[num];
		for(int i = 0; i < num; i++) {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();
		}
		for(int i = 0; i < num; i++) {
			int sum = 0;
			int time = t[i] - (i==0?0:t[i-1]);
			if(i == 0) {
				sum = x[i] + y[i];
			}
			else {
				sum = x[i] - x[i - 1] + y[i] - y[i-1];
			}
			if(sum > time) {
				System.out.println("No");
				return;
			}
			else if(sum < time) {
				if((time - sum) % 2 != 0) { System.out.println("No"); return;}
			}
		}
		System.out.println("Yes");
	}
} Main public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//String s = sc.nextLine();
		//int count = sc.nextInt();
		int num = sc.nextInt();
		int nums[] = new int[num];
		int t[] = new int[num];
		int x[] = new int[num];
		int y[] = new int[num];
		for(int i = 0; i < num; i++) {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();
		}
		for(int i = 0; i < num; i++) {
			int sum = 0;
			int time = t[i] - (i==0?0:t[i-1]);
			if(i == 0) {
				sum = x[i] + y[i];
			}
			else {
				sum = x[i] - x[i - 1] + y[i] - y[i-1];
			}
			if(sum > time) {
				System.out.println("No");
				return;
			}
			else if(sum < time) {
				if((time - sum) % 2 != 0) { System.out.println("No"); return;}
			}
		}
		System.out.println("Yes");
	} main {
		Scanner sc = new Scanner(System.in);
		//String s = sc.nextLine();
		//int count = sc.nextInt();
		int num = sc.nextInt();
		int nums[] = new int[num];
		int t[] = new int[num];
		int x[] = new int[num];
		int y[] = new int[num];
		for(int i = 0; i < num; i++) {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();
		}
		for(int i = 0; i < num; i++) {
			int sum = 0;
			int time = t[i] - (i==0?0:t[i-1]);
			if(i == 0) {
				sum = x[i] + y[i];
			}
			else {
				sum = x[i] - x[i - 1] + y[i] - y[i-1];
			}
			if(sum > time) {
				System.out.println("No");
				return;
			}
			else if(sum < time) {
				if((time - sum) % 2 != 0) { System.out.println("No"); return;}
			}
		}
		System.out.println("Yes");
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int num = sc.nextInt(); num sc.nextInt() sc.nextInt sc int nums[] = new int[num]; nums new int[num] num int t[] = new int[num]; t new int[num] num int x[] = new int[num]; x new int[num] num int y[] = new int[num]; y new int[num] num for(int i = 0; i < num; i++) {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();
		} int i = 0; int i = 0; i 0 i < num i num i++ i++ i {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();
		} {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();
		} t[i] = sc.nextInt() t[i] t i sc.nextInt() sc.nextInt sc x[i] = sc.nextInt() x[i] x i sc.nextInt() sc.nextInt sc y[i] = sc.nextInt() y[i] y i sc.nextInt() sc.nextInt sc for(int i = 0; i < num; i++) {
			int sum = 0;
			int time = t[i] - (i==0?0:t[i-1]);
			if(i == 0) {
				sum = x[i] + y[i];
			}
			else {
				sum = x[i] - x[i - 1] + y[i] - y[i-1];
			}
			if(sum > time) {
				System.out.println("No");
				return;
			}
			else if(sum < time) {
				if((time - sum) % 2 != 0) { System.out.println("No"); return;}
			}
		} int i = 0; int i = 0; i 0 i < num i num i++ i++ i {
			int sum = 0;
			int time = t[i] - (i==0?0:t[i-1]);
			if(i == 0) {
				sum = x[i] + y[i];
			}
			else {
				sum = x[i] - x[i - 1] + y[i] - y[i-1];
			}
			if(sum > time) {
				System.out.println("No");
				return;
			}
			else if(sum < time) {
				if((time - sum) % 2 != 0) { System.out.println("No"); return;}
			}
		} {
			int sum = 0;
			int time = t[i] - (i==0?0:t[i-1]);
			if(i == 0) {
				sum = x[i] + y[i];
			}
			else {
				sum = x[i] - x[i - 1] + y[i] - y[i-1];
			}
			if(sum > time) {
				System.out.println("No");
				return;
			}
			else if(sum < time) {
				if((time - sum) % 2 != 0) { System.out.println("No"); return;}
			}
		} int sum = 0; sum 0 int time = t[i] - (i==0?0:t[i-1]); time t[i] - (i==0?0:t[i-1]) t[i] t i (i==0?0:t[i-1]) i==0 i 0 0 t[i-1] t i-1 i 1 if(i == 0) {
				sum = x[i] + y[i];
			}
			else {
				sum = x[i] - x[i - 1] + y[i] - y[i-1];
			} i == 0 i 0 {
				sum = x[i] + y[i];
			} sum = x[i] + y[i] sum x[i] + y[i] x[i] x i y[i] y i {
				sum = x[i] - x[i - 1] + y[i] - y[i-1];
			} sum = x[i] - x[i - 1] + y[i] - y[i-1] sum x[i] - x[i - 1] + y[i] - y[i-1] x[i] - x[i - 1] + y[i] x[i] - x[i - 1] x[i] x i x[i - 1] x i - 1 i 1 y[i] y i y[i-1] y i-1 i 1 if(sum > time) {
				System.out.println("No");
				return;
			}
			else if(sum < time) {
				if((time - sum) % 2 != 0) { System.out.println("No"); return;}
			} sum > time sum time {
				System.out.println("No");
				return;
			} System.out.println("No") System.out.println System.out System System.out "No" return; if(sum < time) {
				if((time - sum) % 2 != 0) { System.out.println("No"); return;}
			} sum < time sum time {
				if((time - sum) % 2 != 0) { System.out.println("No"); return;}
			} if((time - sum) % 2 != 0) { System.out.println("No"); return;} (time - sum) % 2 != 0 (time - sum) % 2 (time - sum) time sum 2 0 { System.out.println("No"); return;} System.out.println("No") System.out.println System.out System System.out "No" return; System.out.println("Yes") System.out.println System.out System System.out "Yes" String[] args args public class Main { // "Main" should be used for most online judges
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//String s = sc.nextLine();
		//int count = sc.nextInt();
		int num = sc.nextInt();
		int nums[] = new int[num];
		int t[] = new int[num];
		int x[] = new int[num];
		int y[] = new int[num];
		for(int i = 0; i < num; i++) {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();
		}
		for(int i = 0; i < num; i++) {
			int sum = 0;
			int time = t[i] - (i==0?0:t[i-1]);
			if(i == 0) {
				sum = x[i] + y[i];
			}
			else {
				sum = x[i] - x[i - 1] + y[i] - y[i-1];
			}
			if(sum > time) {
				System.out.println("No");
				return;
			}
			else if(sum < time) {
				if((time - sum) % 2 != 0) { System.out.println("No"); return;}
			}
		}
		System.out.println("Yes");
	}
} public class Main { // "Main" should be used for most online judges
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//String s = sc.nextLine();
		//int count = sc.nextInt();
		int num = sc.nextInt();
		int nums[] = new int[num];
		int t[] = new int[num];
		int x[] = new int[num];
		int y[] = new int[num];
		for(int i = 0; i < num; i++) {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();
		}
		for(int i = 0; i < num; i++) {
			int sum = 0;
			int time = t[i] - (i==0?0:t[i-1]);
			if(i == 0) {
				sum = x[i] + y[i];
			}
			else {
				sum = x[i] - x[i - 1] + y[i] - y[i-1];
			}
			if(sum > time) {
				System.out.println("No");
				return;
			}
			else if(sum < time) {
				if((time - sum) % 2 != 0) { System.out.println("No"); return;}
			}
		}
		System.out.println("Yes");
	}
} Main
import java.io.*;
import java.util.*;
public class Main { // "Main" should be used for most online judges
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		//String s = sc.nextLine();
		//int count = sc.nextInt();
		int num = sc.nextInt();
		int nums[] = new int[num];
		int t[] = new int[num];
		int x[] = new int[num];
		int y[] = new int[num];
		for(int i = 0; i < num; i++) {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();
		}
		for(int i = 0; i < num; i++) {
			int sum = 0;
			int time = t[i] - (i==0?0:t[i-1]);
			if(i == 0) {
				sum = x[i] + y[i];
			}
			else {
				sum = x[i] - x[i - 1] + y[i] - y[i-1];
			}
			if(sum > time) {
				System.out.println("No");
				return;
			}
			else if(sum < time) {
				if((time - sum) % 2 != 0) { System.out.println("No"); return;}
			}
		}
		System.out.println("Yes");
	}
}