import java.util.Scanner;

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