import java.util.Scanner;

public class Main {

	static int n, t[], x[][];

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		n = sc.nextInt();
		t = new int[n + 1];
		x = new int[2][n + 1];
		for (int i = 1; i <= n; ++i) {
			t[i] = sc.nextInt();
			x[0][i] = sc.nextInt();
			x[1][i] = sc.nextInt();
		}
		sc.close();
		String ans[] = { "Yes", "No" };
		int a = 0;
		for (int i = 1; i <= n; ++i) {
			int tmp = Math.abs(x[0][i] - x[0][i - 1]) + Math.abs(x[1][i] - x[1][i - 1]);
			int tmp2 = t[i] - t[i - 1];
			if(tmp > tmp2) {
				a = 1;
				break;
			}
			else {
				if(tmp % 2 != tmp2 % 2) {
					a = 1;
					break;
				}
			}
		}
		System.out.println(ans[a]);

	}

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

	static int n, t[], x[][];

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		n = sc.nextInt();
		t = new int[n + 1];
		x = new int[2][n + 1];
		for (int i = 1; i <= n; ++i) {
			t[i] = sc.nextInt();
			x[0][i] = sc.nextInt();
			x[1][i] = sc.nextInt();
		}
		sc.close();
		String ans[] = { "Yes", "No" };
		int a = 0;
		for (int i = 1; i <= n; ++i) {
			int tmp = Math.abs(x[0][i] - x[0][i - 1]) + Math.abs(x[1][i] - x[1][i - 1]);
			int tmp2 = t[i] - t[i - 1];
			if(tmp > tmp2) {
				a = 1;
				break;
			}
			else {
				if(tmp % 2 != tmp2 % 2) {
					a = 1;
					break;
				}
			}
		}
		System.out.println(ans[a]);

	}

} Main static int n n t[] t x[][]; x public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		n = sc.nextInt();
		t = new int[n + 1];
		x = new int[2][n + 1];
		for (int i = 1; i <= n; ++i) {
			t[i] = sc.nextInt();
			x[0][i] = sc.nextInt();
			x[1][i] = sc.nextInt();
		}
		sc.close();
		String ans[] = { "Yes", "No" };
		int a = 0;
		for (int i = 1; i <= n; ++i) {
			int tmp = Math.abs(x[0][i] - x[0][i - 1]) + Math.abs(x[1][i] - x[1][i - 1]);
			int tmp2 = t[i] - t[i - 1];
			if(tmp > tmp2) {
				a = 1;
				break;
			}
			else {
				if(tmp % 2 != tmp2 % 2) {
					a = 1;
					break;
				}
			}
		}
		System.out.println(ans[a]);

	} main {
		Scanner sc = new Scanner(System.in);
		n = sc.nextInt();
		t = new int[n + 1];
		x = new int[2][n + 1];
		for (int i = 1; i <= n; ++i) {
			t[i] = sc.nextInt();
			x[0][i] = sc.nextInt();
			x[1][i] = sc.nextInt();
		}
		sc.close();
		String ans[] = { "Yes", "No" };
		int a = 0;
		for (int i = 1; i <= n; ++i) {
			int tmp = Math.abs(x[0][i] - x[0][i - 1]) + Math.abs(x[1][i] - x[1][i - 1]);
			int tmp2 = t[i] - t[i - 1];
			if(tmp > tmp2) {
				a = 1;
				break;
			}
			else {
				if(tmp % 2 != tmp2 % 2) {
					a = 1;
					break;
				}
			}
		}
		System.out.println(ans[a]);

	} 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[2][n + 1] x new int[2][n + 1] 2 n + 1 n 1 for (int i = 1; i <= n; ++i) {
			t[i] = sc.nextInt();
			x[0][i] = sc.nextInt();
			x[1][i] = sc.nextInt();
		} int i = 1; int i = 1; i 1 i <= n i n ++i ++i i {
			t[i] = sc.nextInt();
			x[0][i] = sc.nextInt();
			x[1][i] = sc.nextInt();
		} {
			t[i] = sc.nextInt();
			x[0][i] = sc.nextInt();
			x[1][i] = sc.nextInt();
		} t[i] = sc.nextInt() t[i] t i sc.nextInt() sc.nextInt sc x[0][i] = sc.nextInt() x[0][i] x[0] x 0 i sc.nextInt() sc.nextInt sc x[1][i] = sc.nextInt() x[1][i] x[1] x 1 i sc.nextInt() sc.nextInt sc sc.close() sc.close sc String ans[] = { "Yes", "No" }; ans { "Yes", "No" } "Yes" "No" int a = 0; a 0 for (int i = 1; i <= n; ++i) {
			int tmp = Math.abs(x[0][i] - x[0][i - 1]) + Math.abs(x[1][i] - x[1][i - 1]);
			int tmp2 = t[i] - t[i - 1];
			if(tmp > tmp2) {
				a = 1;
				break;
			}
			else {
				if(tmp % 2 != tmp2 % 2) {
					a = 1;
					break;
				}
			}
		} int i = 1; int i = 1; i 1 i <= n i n ++i ++i i {
			int tmp = Math.abs(x[0][i] - x[0][i - 1]) + Math.abs(x[1][i] - x[1][i - 1]);
			int tmp2 = t[i] - t[i - 1];
			if(tmp > tmp2) {
				a = 1;
				break;
			}
			else {
				if(tmp % 2 != tmp2 % 2) {
					a = 1;
					break;
				}
			}
		} {
			int tmp = Math.abs(x[0][i] - x[0][i - 1]) + Math.abs(x[1][i] - x[1][i - 1]);
			int tmp2 = t[i] - t[i - 1];
			if(tmp > tmp2) {
				a = 1;
				break;
			}
			else {
				if(tmp % 2 != tmp2 % 2) {
					a = 1;
					break;
				}
			}
		} int tmp = Math.abs(x[0][i] - x[0][i - 1]) + Math.abs(x[1][i] - x[1][i - 1]); tmp Math.abs(x[0][i] - x[0][i - 1]) + Math.abs(x[1][i] - x[1][i - 1]) Math.abs(x[0][i] - x[0][i - 1]) Math.abs Math x[0][i] - x[0][i - 1] x[0][i] x[0] x 0 i x[0][i - 1] x[0] x 0 i - 1 i 1 Math.abs(x[1][i] - x[1][i - 1]) Math.abs Math x[1][i] - x[1][i - 1] x[1][i] x[1] x 1 i x[1][i - 1] x[1] x 1 i - 1 i 1 int tmp2 = t[i] - t[i - 1]; tmp2 t[i] - t[i - 1] t[i] t i t[i - 1] t i - 1 i 1 if(tmp > tmp2) {
				a = 1;
				break;
			}
			else {
				if(tmp % 2 != tmp2 % 2) {
					a = 1;
					break;
				}
			} tmp > tmp2 tmp tmp2 {
				a = 1;
				break;
			} a = 1 a 1 break; {
				if(tmp % 2 != tmp2 % 2) {
					a = 1;
					break;
				}
			} if(tmp % 2 != tmp2 % 2) {
					a = 1;
					break;
				} tmp % 2 != tmp2 % 2 tmp % 2 tmp 2 tmp2 % 2 tmp2 2 {
					a = 1;
					break;
				} a = 1 a 1 break; System.out.println(ans[a]) System.out.println System.out System System.out ans[a] ans a String[] args args public class Main {

	static int n, t[], x[][];

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		n = sc.nextInt();
		t = new int[n + 1];
		x = new int[2][n + 1];
		for (int i = 1; i <= n; ++i) {
			t[i] = sc.nextInt();
			x[0][i] = sc.nextInt();
			x[1][i] = sc.nextInt();
		}
		sc.close();
		String ans[] = { "Yes", "No" };
		int a = 0;
		for (int i = 1; i <= n; ++i) {
			int tmp = Math.abs(x[0][i] - x[0][i - 1]) + Math.abs(x[1][i] - x[1][i - 1]);
			int tmp2 = t[i] - t[i - 1];
			if(tmp > tmp2) {
				a = 1;
				break;
			}
			else {
				if(tmp % 2 != tmp2 % 2) {
					a = 1;
					break;
				}
			}
		}
		System.out.println(ans[a]);

	}

} public class Main {

	static int n, t[], x[][];

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		n = sc.nextInt();
		t = new int[n + 1];
		x = new int[2][n + 1];
		for (int i = 1; i <= n; ++i) {
			t[i] = sc.nextInt();
			x[0][i] = sc.nextInt();
			x[1][i] = sc.nextInt();
		}
		sc.close();
		String ans[] = { "Yes", "No" };
		int a = 0;
		for (int i = 1; i <= n; ++i) {
			int tmp = Math.abs(x[0][i] - x[0][i - 1]) + Math.abs(x[1][i] - x[1][i - 1]);
			int tmp2 = t[i] - t[i - 1];
			if(tmp > tmp2) {
				a = 1;
				break;
			}
			else {
				if(tmp % 2 != tmp2 % 2) {
					a = 1;
					break;
				}
			}
		}
		System.out.println(ans[a]);

	}

} Main
import java.util.Scanner;

public class Main {

	static int n, t[], x[][];

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		n = sc.nextInt();
		t = new int[n + 1];
		x = new int[2][n + 1];
		for (int i = 1; i <= n; ++i) {
			t[i] = sc.nextInt();
			x[0][i] = sc.nextInt();
			x[1][i] = sc.nextInt();
		}
		sc.close();
		String ans[] = { "Yes", "No" };
		int a = 0;
		for (int i = 1; i <= n; ++i) {
			int tmp = Math.abs(x[0][i] - x[0][i - 1]) + Math.abs(x[1][i] - x[1][i - 1]);
			int tmp2 = t[i] - t[i - 1];
			if(tmp > tmp2) {
				a = 1;
				break;
			}
			else {
				if(tmp % 2 != tmp2 % 2) {
					a = 1;
					break;
				}
			}
		}
		System.out.println(ans[a]);

	}

}
