import java.util.Scanner;

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

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		int N = scan.nextInt();
		int[] t = new int[N+1];
		int[] x = new int[N+1];
		int[] y = new int[N+1];
		t[0] = 0;
		x[0] = 0;
		y[0] = 0;
		
		
		for(int i = 1 ; i < N+1 ; i++){
			t[i] = scan.nextInt();
			x[i] = scan.nextInt();
			y[i] = scan.nextInt();
		}	
		
		int distance = 0;
		
		for(int i = 0 ; i < N ; i++){ 
			distance = Math.abs(x[i]-x[i+1]) + Math.abs(y[i]-y[i+1]);
			if (distance > t[i+1] -t[i]){
				System.out.println("No");
				return;
			}
			if ( (distance-(t[i+1]-t[i]))%2 != 0){
				System.out.println("No");
				return;
			}
		}
		System.out.println("Yes");
		
		
	}
}