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];
		x[0] = y[0] = t[0] = 0;
		for (int i = 1; i <= n; i++) {
			t[i] = scan.nextInt();
			x[i] = scan.nextInt();
			y[i] = scan.nextInt();
		}

		boolean f = true;

		for (int i = 1; i <= n; i++) {
			int dist = 0;
			dist = Math.abs(x[i]-x[i-1])+Math.abs(y[i]-y[i-1]);
			//System.out.println("dist : "+dist);
			//System.out.println("t : "+ (t[i]-t[i-1]));
			if (dist > t[i]-t[i-1]) {
				f = false;
				break;
			} else {
				if ((t[i]-t[i-1]-dist) % 2 == 1) {
					f = false;
					break;
				}
			}
		}

		if (f) {
			System.out.println("Yes");
		} else {
			System.out.println("No");
		}
		System.out.println("");
	}
} 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];
		x[0] = y[0] = t[0] = 0;
		for (int i = 1; i <= n; i++) {
			t[i] = scan.nextInt();
			x[i] = scan.nextInt();
			y[i] = scan.nextInt();
		}

		boolean f = true;

		for (int i = 1; i <= n; i++) {
			int dist = 0;
			dist = Math.abs(x[i]-x[i-1])+Math.abs(y[i]-y[i-1]);
			//System.out.println("dist : "+dist);
			//System.out.println("t : "+ (t[i]-t[i-1]));
			if (dist > t[i]-t[i-1]) {
				f = false;
				break;
			} else {
				if ((t[i]-t[i-1]-dist) % 2 == 1) {
					f = false;
					break;
				}
			}
		}

		if (f) {
			System.out.println("Yes");
		} else {
			System.out.println("No");
		}
		System.out.println("");
	}
} 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];
		x[0] = y[0] = t[0] = 0;
		for (int i = 1; i <= n; i++) {
			t[i] = scan.nextInt();
			x[i] = scan.nextInt();
			y[i] = scan.nextInt();
		}

		boolean f = true;

		for (int i = 1; i <= n; i++) {
			int dist = 0;
			dist = Math.abs(x[i]-x[i-1])+Math.abs(y[i]-y[i-1]);
			//System.out.println("dist : "+dist);
			//System.out.println("t : "+ (t[i]-t[i-1]));
			if (dist > t[i]-t[i-1]) {
				f = false;
				break;
			} else {
				if ((t[i]-t[i-1]-dist) % 2 == 1) {
					f = false;
					break;
				}
			}
		}

		if (f) {
			System.out.println("Yes");
		} else {
			System.out.println("No");
		}
		System.out.println("");
	} 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];
		x[0] = y[0] = t[0] = 0;
		for (int i = 1; i <= n; i++) {
			t[i] = scan.nextInt();
			x[i] = scan.nextInt();
			y[i] = scan.nextInt();
		}

		boolean f = true;

		for (int i = 1; i <= n; i++) {
			int dist = 0;
			dist = Math.abs(x[i]-x[i-1])+Math.abs(y[i]-y[i-1]);
			//System.out.println("dist : "+dist);
			//System.out.println("t : "+ (t[i]-t[i-1]));
			if (dist > t[i]-t[i-1]) {
				f = false;
				break;
			} else {
				if ((t[i]-t[i-1]-dist) % 2 == 1) {
					f = false;
					break;
				}
			}
		}

		if (f) {
			System.out.println("Yes");
		} else {
			System.out.println("No");
		}
		System.out.println("");
	} 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 x[0] = y[0] = t[0] = 0 x[0] x 0 y[0] = t[0] = 0 y[0] y 0 t[0] = 0 t[0] t 0 0 for (int i = 1; i <= n; i++) {
			t[i] = scan.nextInt();
			x[i] = scan.nextInt();
			y[i] = scan.nextInt();
		} int i = 1; int i = 1; i 1 i <= n i n 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 boolean f = true; f true for (int i = 1; i <= n; i++) {
			int dist = 0;
			dist = Math.abs(x[i]-x[i-1])+Math.abs(y[i]-y[i-1]);
			//System.out.println("dist : "+dist);
			//System.out.println("t : "+ (t[i]-t[i-1]));
			if (dist > t[i]-t[i-1]) {
				f = false;
				break;
			} else {
				if ((t[i]-t[i-1]-dist) % 2 == 1) {
					f = false;
					break;
				}
			}
		} int i = 1; int i = 1; i 1 i <= n i n i++ i++ i {
			int dist = 0;
			dist = Math.abs(x[i]-x[i-1])+Math.abs(y[i]-y[i-1]);
			//System.out.println("dist : "+dist);
			//System.out.println("t : "+ (t[i]-t[i-1]));
			if (dist > t[i]-t[i-1]) {
				f = false;
				break;
			} else {
				if ((t[i]-t[i-1]-dist) % 2 == 1) {
					f = false;
					break;
				}
			}
		} {
			int dist = 0;
			dist = Math.abs(x[i]-x[i-1])+Math.abs(y[i]-y[i-1]);
			//System.out.println("dist : "+dist);
			//System.out.println("t : "+ (t[i]-t[i-1]));
			if (dist > t[i]-t[i-1]) {
				f = false;
				break;
			} else {
				if ((t[i]-t[i-1]-dist) % 2 == 1) {
					f = false;
					break;
				}
			}
		} int dist = 0; dist 0 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 (dist > t[i]-t[i-1]) {
				f = false;
				break;
			} else {
				if ((t[i]-t[i-1]-dist) % 2 == 1) {
					f = false;
					break;
				}
			} dist > t[i]-t[i-1] dist t[i]-t[i-1] t[i] t i t[i-1] t i-1 i 1 {
				f = false;
				break;
			} f = false f false break; {
				if ((t[i]-t[i-1]-dist) % 2 == 1) {
					f = false;
					break;
				}
			} if ((t[i]-t[i-1]-dist) % 2 == 1) {
					f = false;
					break;
				} (t[i]-t[i-1]-dist) % 2 == 1 (t[i]-t[i-1]-dist) % 2 (t[i]-t[i-1]-dist) t[i]-t[i-1]-dist t[i] t i t[i-1] t i-1 i 1 dist 2 1 {
					f = false;
					break;
				} f = false f false break; if (f) {
			System.out.println("Yes");
		} else {
			System.out.println("No");
		} f {
			System.out.println("Yes");
		} System.out.println("Yes") System.out.println System.out System System.out "Yes" {
			System.out.println("No");
		} System.out.println("No") System.out.println System.out System System.out "No" System.out.println("") System.out.println System.out System System.out "" 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];
		x[0] = y[0] = t[0] = 0;
		for (int i = 1; i <= n; i++) {
			t[i] = scan.nextInt();
			x[i] = scan.nextInt();
			y[i] = scan.nextInt();
		}

		boolean f = true;

		for (int i = 1; i <= n; i++) {
			int dist = 0;
			dist = Math.abs(x[i]-x[i-1])+Math.abs(y[i]-y[i-1]);
			//System.out.println("dist : "+dist);
			//System.out.println("t : "+ (t[i]-t[i-1]));
			if (dist > t[i]-t[i-1]) {
				f = false;
				break;
			} else {
				if ((t[i]-t[i-1]-dist) % 2 == 1) {
					f = false;
					break;
				}
			}
		}

		if (f) {
			System.out.println("Yes");
		} else {
			System.out.println("No");
		}
		System.out.println("");
	}
} 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];
		x[0] = y[0] = t[0] = 0;
		for (int i = 1; i <= n; i++) {
			t[i] = scan.nextInt();
			x[i] = scan.nextInt();
			y[i] = scan.nextInt();
		}

		boolean f = true;

		for (int i = 1; i <= n; i++) {
			int dist = 0;
			dist = Math.abs(x[i]-x[i-1])+Math.abs(y[i]-y[i-1]);
			//System.out.println("dist : "+dist);
			//System.out.println("t : "+ (t[i]-t[i-1]));
			if (dist > t[i]-t[i-1]) {
				f = false;
				break;
			} else {
				if ((t[i]-t[i-1]-dist) % 2 == 1) {
					f = false;
					break;
				}
			}
		}

		if (f) {
			System.out.println("Yes");
		} else {
			System.out.println("No");
		}
		System.out.println("");
	}
} 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];
		x[0] = y[0] = t[0] = 0;
		for (int i = 1; i <= n; i++) {
			t[i] = scan.nextInt();
			x[i] = scan.nextInt();
			y[i] = scan.nextInt();
		}

		boolean f = true;

		for (int i = 1; i <= n; i++) {
			int dist = 0;
			dist = Math.abs(x[i]-x[i-1])+Math.abs(y[i]-y[i-1]);
			//System.out.println("dist : "+dist);
			//System.out.println("t : "+ (t[i]-t[i-1]));
			if (dist > t[i]-t[i-1]) {
				f = false;
				break;
			} else {
				if ((t[i]-t[i-1]-dist) % 2 == 1) {
					f = false;
					break;
				}
			}
		}

		if (f) {
			System.out.println("Yes");
		} else {
			System.out.println("No");
		}
		System.out.println("");
	}
}
