import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int []x = new int [n+1];
		int []y = new int [n+1];
		int []t = new int [n+1];
		
		x[0] = 0; y[0] = 0; t[0] = 0;
		int exist = 0;
		
		for (int i = 1; i <= n; i++) {
			t[i] =sc.nextInt();
			x[i] =sc.nextInt();
			y[i] =sc.nextInt();
			
			int X = Math.abs(x[i] - x[i - 1]);
			int Y = Math.abs(y[i] - y[i - 1]);
			int T = t[i] - t[i -1];
			
			if(T < X + Y || (X + Y)%2 != T%2) 
				 break;
			exist += 1;
		}
		if(exist == n)
			System.out.print("Yes");
		else
			System.out.println("No");
	    }
	}

 import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int []x = new int [n+1];
		int []y = new int [n+1];
		int []t = new int [n+1];
		
		x[0] = 0; y[0] = 0; t[0] = 0;
		int exist = 0;
		
		for (int i = 1; i <= n; i++) {
			t[i] =sc.nextInt();
			x[i] =sc.nextInt();
			y[i] =sc.nextInt();
			
			int X = Math.abs(x[i] - x[i - 1]);
			int Y = Math.abs(y[i] - y[i - 1]);
			int T = t[i] - t[i -1];
			
			if(T < X + Y || (X + Y)%2 != T%2) 
				 break;
			exist += 1;
		}
		if(exist == n)
			System.out.print("Yes");
		else
			System.out.println("No");
	    }
	} Main public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int []x = new int [n+1];
		int []y = new int [n+1];
		int []t = new int [n+1];
		
		x[0] = 0; y[0] = 0; t[0] = 0;
		int exist = 0;
		
		for (int i = 1; i <= n; i++) {
			t[i] =sc.nextInt();
			x[i] =sc.nextInt();
			y[i] =sc.nextInt();
			
			int X = Math.abs(x[i] - x[i - 1]);
			int Y = Math.abs(y[i] - y[i - 1]);
			int T = t[i] - t[i -1];
			
			if(T < X + Y || (X + Y)%2 != T%2) 
				 break;
			exist += 1;
		}
		if(exist == n)
			System.out.print("Yes");
		else
			System.out.println("No");
	    } main {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int []x = new int [n+1];
		int []y = new int [n+1];
		int []t = new int [n+1];
		
		x[0] = 0; y[0] = 0; t[0] = 0;
		int exist = 0;
		
		for (int i = 1; i <= n; i++) {
			t[i] =sc.nextInt();
			x[i] =sc.nextInt();
			y[i] =sc.nextInt();
			
			int X = Math.abs(x[i] - x[i - 1]);
			int Y = Math.abs(y[i] - y[i - 1]);
			int T = t[i] - t[i -1];
			
			if(T < X + Y || (X + Y)%2 != T%2) 
				 break;
			exist += 1;
		}
		if(exist == n)
			System.out.print("Yes");
		else
			System.out.println("No");
	    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc int []x = new int [n+1]; x new int [n+1] n+1 n 1 int []y = new int [n+1]; y new int [n+1] n+1 n 1 int []t = new int [n+1]; t new int [n+1] n+1 n 1 x[0] = 0 x[0] x 0 0 y[0] = 0 y[0] y 0 0 t[0] = 0 t[0] t 0 0 int exist = 0; exist 0 for (int i = 1; i <= n; i++) {
			t[i] =sc.nextInt();
			x[i] =sc.nextInt();
			y[i] =sc.nextInt();
			
			int X = Math.abs(x[i] - x[i - 1]);
			int Y = Math.abs(y[i] - y[i - 1]);
			int T = t[i] - t[i -1];
			
			if(T < X + Y || (X + Y)%2 != T%2) 
				 break;
			exist += 1;
		} int i = 1; int i = 1; i 1 i <= n i n i++ i++ i {
			t[i] =sc.nextInt();
			x[i] =sc.nextInt();
			y[i] =sc.nextInt();
			
			int X = Math.abs(x[i] - x[i - 1]);
			int Y = Math.abs(y[i] - y[i - 1]);
			int T = t[i] - t[i -1];
			
			if(T < X + Y || (X + Y)%2 != T%2) 
				 break;
			exist += 1;
		} {
			t[i] =sc.nextInt();
			x[i] =sc.nextInt();
			y[i] =sc.nextInt();
			
			int X = Math.abs(x[i] - x[i - 1]);
			int Y = Math.abs(y[i] - y[i - 1]);
			int T = t[i] - t[i -1];
			
			if(T < X + Y || (X + Y)%2 != T%2) 
				 break;
			exist += 1;
		} 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 int X = Math.abs(x[i] - x[i - 1]); X Math.abs(x[i] - x[i - 1]) Math.abs Math x[i] - x[i - 1] x[i] x i x[i - 1] x i - 1 i 1 int Y = Math.abs(y[i] - y[i - 1]); Y Math.abs(y[i] - y[i - 1]) Math.abs Math y[i] - y[i - 1] y[i] y i y[i - 1] y i - 1 i 1 int T = t[i] - t[i -1]; T t[i] - t[i -1] t[i] t i t[i -1] t i -1 i 1 if(T < X + Y || (X + Y)%2 != T%2) 
				 break; T < X + Y || (X + Y)%2 != T%2 T < X + Y T X + Y X Y (X + Y)%2 != T%2 (X + Y)%2 (X + Y) X Y 2 T%2 T 2 break; exist += 1 exist 1 if(exist == n)
			System.out.print("Yes");
		else
			System.out.println("No"); exist == n exist n System.out.print("Yes") System.out.print 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) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int []x = new int [n+1];
		int []y = new int [n+1];
		int []t = new int [n+1];
		
		x[0] = 0; y[0] = 0; t[0] = 0;
		int exist = 0;
		
		for (int i = 1; i <= n; i++) {
			t[i] =sc.nextInt();
			x[i] =sc.nextInt();
			y[i] =sc.nextInt();
			
			int X = Math.abs(x[i] - x[i - 1]);
			int Y = Math.abs(y[i] - y[i - 1]);
			int T = t[i] - t[i -1];
			
			if(T < X + Y || (X + Y)%2 != T%2) 
				 break;
			exist += 1;
		}
		if(exist == n)
			System.out.print("Yes");
		else
			System.out.println("No");
	    }
	} public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int []x = new int [n+1];
		int []y = new int [n+1];
		int []t = new int [n+1];
		
		x[0] = 0; y[0] = 0; t[0] = 0;
		int exist = 0;
		
		for (int i = 1; i <= n; i++) {
			t[i] =sc.nextInt();
			x[i] =sc.nextInt();
			y[i] =sc.nextInt();
			
			int X = Math.abs(x[i] - x[i - 1]);
			int Y = Math.abs(y[i] - y[i - 1]);
			int T = t[i] - t[i -1];
			
			if(T < X + Y || (X + Y)%2 != T%2) 
				 break;
			exist += 1;
		}
		if(exist == n)
			System.out.print("Yes");
		else
			System.out.println("No");
	    }
	} Main
import java.util.Scanner;
public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int []x = new int [n+1];
		int []y = new int [n+1];
		int []t = new int [n+1];
		
		x[0] = 0; y[0] = 0; t[0] = 0;
		int exist = 0;
		
		for (int i = 1; i <= n; i++) {
			t[i] =sc.nextInt();
			x[i] =sc.nextInt();
			y[i] =sc.nextInt();
			
			int X = Math.abs(x[i] - x[i - 1]);
			int Y = Math.abs(y[i] - y[i - 1]);
			int T = t[i] - t[i -1];
			
			if(T < X + Y || (X + Y)%2 != T%2) 
				 break;
			exist += 1;
		}
		if(exist == n)
			System.out.print("Yes");
		else
			System.out.println("No");
	    }
	}


