import java.util.Scanner;

	public class Main {

		public static void main(String[] args) {

			Scanner sc = new Scanner(System.in);
			
			int n = sc.nextInt();
			int[] t = new int[n];
			int[] x = new int[n];
			int[] y = new int[n];
			
			for(int i=0;i<n;i++) {
				t[i]=sc.nextInt();
				x[i]=sc.nextInt();
				y[i]=sc.nextInt();
			}
			
			int dt = 0;
			int dL = 0;
			
			if(t[0]<(x[0]+y[0])) {
				System.out.println("No");
				return;
			}else if((t[0]-(x[0]+y[0]))%2==1) {
				System.out.println("No");
				return;
			}
			
			
			for(int i=0;i<n-1;i++) {
				dt = Math.abs(t[i]-t[i+1]);
				dL = Math.abs(x[i]-x[i+1]) + Math.abs(y[i]-y[i+1]);
				
				if(dt<dL) {
					System.out.println("No");
					return;
				}else if((dt-dL)%2==1) {
					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 sc = new Scanner(System.in);
			
			int n = sc.nextInt();
			int[] t = new int[n];
			int[] x = new int[n];
			int[] y = new int[n];
			
			for(int i=0;i<n;i++) {
				t[i]=sc.nextInt();
				x[i]=sc.nextInt();
				y[i]=sc.nextInt();
			}
			
			int dt = 0;
			int dL = 0;
			
			if(t[0]<(x[0]+y[0])) {
				System.out.println("No");
				return;
			}else if((t[0]-(x[0]+y[0]))%2==1) {
				System.out.println("No");
				return;
			}
			
			
			for(int i=0;i<n-1;i++) {
				dt = Math.abs(t[i]-t[i+1]);
				dL = Math.abs(x[i]-x[i+1]) + Math.abs(y[i]-y[i+1]);
				
				if(dt<dL) {
					System.out.println("No");
					return;
				}else if((dt-dL)%2==1) {
					System.out.println("No");
					return;
				}
				
			}
			
			System.out.println("Yes");			
		}
	} Main public static void main(String[] args) {

			Scanner sc = new Scanner(System.in);
			
			int n = sc.nextInt();
			int[] t = new int[n];
			int[] x = new int[n];
			int[] y = new int[n];
			
			for(int i=0;i<n;i++) {
				t[i]=sc.nextInt();
				x[i]=sc.nextInt();
				y[i]=sc.nextInt();
			}
			
			int dt = 0;
			int dL = 0;
			
			if(t[0]<(x[0]+y[0])) {
				System.out.println("No");
				return;
			}else if((t[0]-(x[0]+y[0]))%2==1) {
				System.out.println("No");
				return;
			}
			
			
			for(int i=0;i<n-1;i++) {
				dt = Math.abs(t[i]-t[i+1]);
				dL = Math.abs(x[i]-x[i+1]) + Math.abs(y[i]-y[i+1]);
				
				if(dt<dL) {
					System.out.println("No");
					return;
				}else if((dt-dL)%2==1) {
					System.out.println("No");
					return;
				}
				
			}
			
			System.out.println("Yes");			
		} main {

			Scanner sc = new Scanner(System.in);
			
			int n = sc.nextInt();
			int[] t = new int[n];
			int[] x = new int[n];
			int[] y = new int[n];
			
			for(int i=0;i<n;i++) {
				t[i]=sc.nextInt();
				x[i]=sc.nextInt();
				y[i]=sc.nextInt();
			}
			
			int dt = 0;
			int dL = 0;
			
			if(t[0]<(x[0]+y[0])) {
				System.out.println("No");
				return;
			}else if((t[0]-(x[0]+y[0]))%2==1) {
				System.out.println("No");
				return;
			}
			
			
			for(int i=0;i<n-1;i++) {
				dt = Math.abs(t[i]-t[i+1]);
				dL = Math.abs(x[i]-x[i+1]) + Math.abs(y[i]-y[i+1]);
				
				if(dt<dL) {
					System.out.println("No");
					return;
				}else if((dt-dL)%2==1) {
					System.out.println("No");
					return;
				}
				
			}
			
			System.out.println("Yes");			
		} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc int[] t = new int[n]; t new int[n] n int[] x = new int[n]; x new int[n] n int[] y = new int[n]; y new int[n] n for(int i=0;i<n;i++) {
				t[i]=sc.nextInt();
				x[i]=sc.nextInt();
				y[i]=sc.nextInt();
			} int i=0; int i=0; i 0 i<n i n 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 int dt = 0; dt 0 int dL = 0; dL 0 if(t[0]<(x[0]+y[0])) {
				System.out.println("No");
				return;
			}else if((t[0]-(x[0]+y[0]))%2==1) {
				System.out.println("No");
				return;
			} t[0]<(x[0]+y[0]) t[0] t 0 (x[0]+y[0]) x[0] x 0 y[0] y 0 {
				System.out.println("No");
				return;
			} System.out.println("No") System.out.println System.out System System.out "No" return; if((t[0]-(x[0]+y[0]))%2==1) {
				System.out.println("No");
				return;
			} (t[0]-(x[0]+y[0]))%2==1 (t[0]-(x[0]+y[0]))%2 (t[0]-(x[0]+y[0])) t[0] t 0 (x[0]+y[0]) x[0] x 0 y[0] y 0 2 1 {
				System.out.println("No");
				return;
			} System.out.println("No") System.out.println System.out System System.out "No" return; for(int i=0;i<n-1;i++) {
				dt = Math.abs(t[i]-t[i+1]);
				dL = Math.abs(x[i]-x[i+1]) + Math.abs(y[i]-y[i+1]);
				
				if(dt<dL) {
					System.out.println("No");
					return;
				}else if((dt-dL)%2==1) {
					System.out.println("No");
					return;
				}
				
			} int i=0; int i=0; i 0 i<n-1 i n-1 n 1 i++ i++ i {
				dt = Math.abs(t[i]-t[i+1]);
				dL = Math.abs(x[i]-x[i+1]) + Math.abs(y[i]-y[i+1]);
				
				if(dt<dL) {
					System.out.println("No");
					return;
				}else if((dt-dL)%2==1) {
					System.out.println("No");
					return;
				}
				
			} {
				dt = Math.abs(t[i]-t[i+1]);
				dL = Math.abs(x[i]-x[i+1]) + Math.abs(y[i]-y[i+1]);
				
				if(dt<dL) {
					System.out.println("No");
					return;
				}else if((dt-dL)%2==1) {
					System.out.println("No");
					return;
				}
				
			} dt = Math.abs(t[i]-t[i+1]) dt Math.abs(t[i]-t[i+1]) Math.abs Math t[i]-t[i+1] t[i] t i t[i+1] t i+1 i 1 dL = Math.abs(x[i]-x[i+1]) + Math.abs(y[i]-y[i+1]) dL 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(dt<dL) {
					System.out.println("No");
					return;
				}else if((dt-dL)%2==1) {
					System.out.println("No");
					return;
				} dt<dL dt dL {
					System.out.println("No");
					return;
				} System.out.println("No") System.out.println System.out System System.out "No" return; if((dt-dL)%2==1) {
					System.out.println("No");
					return;
				} (dt-dL)%2==1 (dt-dL)%2 (dt-dL) dt dL 2 1 {
					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 sc = new Scanner(System.in);
			
			int n = sc.nextInt();
			int[] t = new int[n];
			int[] x = new int[n];
			int[] y = new int[n];
			
			for(int i=0;i<n;i++) {
				t[i]=sc.nextInt();
				x[i]=sc.nextInt();
				y[i]=sc.nextInt();
			}
			
			int dt = 0;
			int dL = 0;
			
			if(t[0]<(x[0]+y[0])) {
				System.out.println("No");
				return;
			}else if((t[0]-(x[0]+y[0]))%2==1) {
				System.out.println("No");
				return;
			}
			
			
			for(int i=0;i<n-1;i++) {
				dt = Math.abs(t[i]-t[i+1]);
				dL = Math.abs(x[i]-x[i+1]) + Math.abs(y[i]-y[i+1]);
				
				if(dt<dL) {
					System.out.println("No");
					return;
				}else if((dt-dL)%2==1) {
					System.out.println("No");
					return;
				}
				
			}
			
			System.out.println("Yes");			
		}
	} public class Main {

		public static void main(String[] args) {

			Scanner sc = new Scanner(System.in);
			
			int n = sc.nextInt();
			int[] t = new int[n];
			int[] x = new int[n];
			int[] y = new int[n];
			
			for(int i=0;i<n;i++) {
				t[i]=sc.nextInt();
				x[i]=sc.nextInt();
				y[i]=sc.nextInt();
			}
			
			int dt = 0;
			int dL = 0;
			
			if(t[0]<(x[0]+y[0])) {
				System.out.println("No");
				return;
			}else if((t[0]-(x[0]+y[0]))%2==1) {
				System.out.println("No");
				return;
			}
			
			
			for(int i=0;i<n-1;i++) {
				dt = Math.abs(t[i]-t[i+1]);
				dL = Math.abs(x[i]-x[i+1]) + Math.abs(y[i]-y[i+1]);
				
				if(dt<dL) {
					System.out.println("No");
					return;
				}else if((dt-dL)%2==1) {
					System.out.println("No");
					return;
				}
				
			}
			
			System.out.println("Yes");			
		}
	} Main
import java.util.Scanner;

	public class Main {

		public static void main(String[] args) {

			Scanner sc = new Scanner(System.in);
			
			int n = sc.nextInt();
			int[] t = new int[n];
			int[] x = new int[n];
			int[] y = new int[n];
			
			for(int i=0;i<n;i++) {
				t[i]=sc.nextInt();
				x[i]=sc.nextInt();
				y[i]=sc.nextInt();
			}
			
			int dt = 0;
			int dL = 0;
			
			if(t[0]<(x[0]+y[0])) {
				System.out.println("No");
				return;
			}else if((t[0]-(x[0]+y[0]))%2==1) {
				System.out.println("No");
				return;
			}
			
			
			for(int i=0;i<n-1;i++) {
				dt = Math.abs(t[i]-t[i+1]);
				dL = Math.abs(x[i]-x[i+1]) + Math.abs(y[i]-y[i+1]);
				
				if(dt<dL) {
					System.out.println("No");
					return;
				}else if((dt-dL)%2==1) {
					System.out.println("No");
					return;
				}
				
			}
			
			System.out.println("Yes");			
		}
	}