
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Main main = new Main();
		main.run();
	}



	int N;
	int t[];
	int x[];
	int y[];
	public void run() {
		Scanner sc = new Scanner(System.in);

		N = sc.nextInt();
		t = new int[N+1];
		x = new int[N+1];
		y = new int[N+1];

		t[0]=0;
		x[0]=0;
		y[0]=0;
		for(int i=1; i<=N; i++) {
			t[i]=sc.nextInt();
			x[i]=sc.nextInt();
			y[i]=sc.nextInt();
		}

		boolean ans = true;
		for(int i=1; i<=N; i++) {
			int dt = t[i] - t[i-1];
			int dist = Math.abs(x[i] - x[i-1]) + Math.abs(y[i] - y[i-1]);
			if(dt<dist) ans = false;
			if(dt%2 != dist%2) ans = false;
			if(!ans) break;
		}
		if (ans) System.out.println("Yes");
		else System.out.println("No");
		sc.close();
	}
} import java.util.Scanner; Scanner java.util public class Main {
	public static void main(String[] args) {
		Main main = new Main();
		main.run();
	}



	int N;
	int t[];
	int x[];
	int y[];
	public void run() {
		Scanner sc = new Scanner(System.in);

		N = sc.nextInt();
		t = new int[N+1];
		x = new int[N+1];
		y = new int[N+1];

		t[0]=0;
		x[0]=0;
		y[0]=0;
		for(int i=1; i<=N; i++) {
			t[i]=sc.nextInt();
			x[i]=sc.nextInt();
			y[i]=sc.nextInt();
		}

		boolean ans = true;
		for(int i=1; i<=N; i++) {
			int dt = t[i] - t[i-1];
			int dist = Math.abs(x[i] - x[i-1]) + Math.abs(y[i] - y[i-1]);
			if(dt<dist) ans = false;
			if(dt%2 != dist%2) ans = false;
			if(!ans) break;
		}
		if (ans) System.out.println("Yes");
		else System.out.println("No");
		sc.close();
	}
} Main int N; N int t[]; t int x[]; x int y[]; y public static void main(String[] args) {
		Main main = new Main();
		main.run();
	} main {
		Main main = new Main();
		main.run();
	} Main main = new Main(); main new Main() main.run() main.run main String[] args args public void run() {
		Scanner sc = new Scanner(System.in);

		N = sc.nextInt();
		t = new int[N+1];
		x = new int[N+1];
		y = new int[N+1];

		t[0]=0;
		x[0]=0;
		y[0]=0;
		for(int i=1; i<=N; i++) {
			t[i]=sc.nextInt();
			x[i]=sc.nextInt();
			y[i]=sc.nextInt();
		}

		boolean ans = true;
		for(int i=1; i<=N; i++) {
			int dt = t[i] - t[i-1];
			int dist = Math.abs(x[i] - x[i-1]) + Math.abs(y[i] - y[i-1]);
			if(dt<dist) ans = false;
			if(dt%2 != dist%2) ans = false;
			if(!ans) break;
		}
		if (ans) System.out.println("Yes");
		else System.out.println("No");
		sc.close();
	} run {
		Scanner sc = new Scanner(System.in);

		N = sc.nextInt();
		t = new int[N+1];
		x = new int[N+1];
		y = new int[N+1];

		t[0]=0;
		x[0]=0;
		y[0]=0;
		for(int i=1; i<=N; i++) {
			t[i]=sc.nextInt();
			x[i]=sc.nextInt();
			y[i]=sc.nextInt();
		}

		boolean ans = true;
		for(int i=1; i<=N; i++) {
			int dt = t[i] - t[i-1];
			int dist = Math.abs(x[i] - x[i-1]) + Math.abs(y[i] - y[i-1]);
			if(dt<dist) ans = false;
			if(dt%2 != dist%2) ans = false;
			if(!ans) break;
		}
		if (ans) System.out.println("Yes");
		else System.out.println("No");
		sc.close();
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) N = sc.nextInt() N sc.nextInt() sc.nextInt sc t = new int[N+1] t new int[N+1] N+1 N 1 x = new int[N+1] x new int[N+1] N+1 N 1 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; i++) {
			t[i]=sc.nextInt();
			x[i]=sc.nextInt();
			y[i]=sc.nextInt();
		} 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();
		} {
			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 boolean ans = true; ans true for(int i=1; i<=N; i++) {
			int dt = t[i] - t[i-1];
			int dist = Math.abs(x[i] - x[i-1]) + Math.abs(y[i] - y[i-1]);
			if(dt<dist) ans = false;
			if(dt%2 != dist%2) ans = false;
			if(!ans) break;
		} int i=1; int i=1; i 1 i<=N i N i++ i++ i {
			int dt = t[i] - t[i-1];
			int dist = Math.abs(x[i] - x[i-1]) + Math.abs(y[i] - y[i-1]);
			if(dt<dist) ans = false;
			if(dt%2 != dist%2) ans = false;
			if(!ans) break;
		} {
			int dt = t[i] - t[i-1];
			int dist = Math.abs(x[i] - x[i-1]) + Math.abs(y[i] - y[i-1]);
			if(dt<dist) ans = false;
			if(dt%2 != dist%2) ans = false;
			if(!ans) break;
		} int dt = t[i] - t[i-1]; dt t[i] - t[i-1] t[i] t i t[i-1] t i-1 i 1 int dist = Math.abs(x[i] - x[i-1]) + Math.abs(y[i] - y[i-1]); dist 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<dist) ans = false; dt<dist dt dist ans = false ans false if(dt%2 != dist%2) ans = false; dt%2 != dist%2 dt%2 dt 2 dist%2 dist 2 ans = false ans false if(!ans) break; !ans ans break; if (ans) System.out.println("Yes");
		else System.out.println("No"); ans System.out.println("Yes") System.out.println System.out System System.out "Yes" System.out.println("No") System.out.println System.out System System.out "No" sc.close() sc.close sc public class Main {
	public static void main(String[] args) {
		Main main = new Main();
		main.run();
	}



	int N;
	int t[];
	int x[];
	int y[];
	public void run() {
		Scanner sc = new Scanner(System.in);

		N = sc.nextInt();
		t = new int[N+1];
		x = new int[N+1];
		y = new int[N+1];

		t[0]=0;
		x[0]=0;
		y[0]=0;
		for(int i=1; i<=N; i++) {
			t[i]=sc.nextInt();
			x[i]=sc.nextInt();
			y[i]=sc.nextInt();
		}

		boolean ans = true;
		for(int i=1; i<=N; i++) {
			int dt = t[i] - t[i-1];
			int dist = Math.abs(x[i] - x[i-1]) + Math.abs(y[i] - y[i-1]);
			if(dt<dist) ans = false;
			if(dt%2 != dist%2) ans = false;
			if(!ans) break;
		}
		if (ans) System.out.println("Yes");
		else System.out.println("No");
		sc.close();
	}
} public class Main {
	public static void main(String[] args) {
		Main main = new Main();
		main.run();
	}



	int N;
	int t[];
	int x[];
	int y[];
	public void run() {
		Scanner sc = new Scanner(System.in);

		N = sc.nextInt();
		t = new int[N+1];
		x = new int[N+1];
		y = new int[N+1];

		t[0]=0;
		x[0]=0;
		y[0]=0;
		for(int i=1; i<=N; i++) {
			t[i]=sc.nextInt();
			x[i]=sc.nextInt();
			y[i]=sc.nextInt();
		}

		boolean ans = true;
		for(int i=1; i<=N; i++) {
			int dt = t[i] - t[i-1];
			int dist = Math.abs(x[i] - x[i-1]) + Math.abs(y[i] - y[i-1]);
			if(dt<dist) ans = false;
			if(dt%2 != dist%2) ans = false;
			if(!ans) break;
		}
		if (ans) System.out.println("Yes");
		else System.out.println("No");
		sc.close();
	}
} Main

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Main main = new Main();
		main.run();
	}



	int N;
	int t[];
	int x[];
	int y[];
	public void run() {
		Scanner sc = new Scanner(System.in);

		N = sc.nextInt();
		t = new int[N+1];
		x = new int[N+1];
		y = new int[N+1];

		t[0]=0;
		x[0]=0;
		y[0]=0;
		for(int i=1; i<=N; i++) {
			t[i]=sc.nextInt();
			x[i]=sc.nextInt();
			y[i]=sc.nextInt();
		}

		boolean ans = true;
		for(int i=1; i<=N; i++) {
			int dt = t[i] - t[i-1];
			int dist = Math.abs(x[i] - x[i-1]) + Math.abs(y[i] - y[i-1]);
			if(dt<dist) ans = false;
			if(dt%2 != dist%2) ans = false;
			if(!ans) break;
		}
		if (ans) System.out.println("Yes");
		else System.out.println("No");
		sc.close();
	}
}
