import 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+1];
		int[] x = new int[N+1];
		int[] y = new int[N+1];
		boolean ok = true;
		for(int i = 1; i <= N; i++) {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();
			if(t[i]-t[i-1] < Math.abs(x[i]-x[i-1]) + Math.abs(y[i]-y[i-1]) || (t[i] - x[i] - y[i]) % 2 != 0) {
				ok = false;
				break;
			}
		}
		System.out.println(ok ? "Yes" : "No");
	}

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

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int[] t = new int[N+1];
		int[] x = new int[N+1];
		int[] y = new int[N+1];
		boolean ok = true;
		for(int i = 1; i <= N; i++) {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();
			if(t[i]-t[i-1] < Math.abs(x[i]-x[i-1]) + Math.abs(y[i]-y[i-1]) || (t[i] - x[i] - y[i]) % 2 != 0) {
				ok = false;
				break;
			}
		}
		System.out.println(ok ? "Yes" : "No");
	}

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

} public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int[] t = new int[N+1];
		int[] x = new int[N+1];
		int[] y = new int[N+1];
		boolean ok = true;
		for(int i = 1; i <= N; i++) {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();
			if(t[i]-t[i-1] < Math.abs(x[i]-x[i-1]) + Math.abs(y[i]-y[i-1]) || (t[i] - x[i] - y[i]) % 2 != 0) {
				ok = false;
				break;
			}
		}
		System.out.println(ok ? "Yes" : "No");
	}

} Main
import 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+1];
		int[] x = new int[N+1];
		int[] y = new int[N+1];
		boolean ok = true;
		for(int i = 1; i <= N; i++) {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();
			if(t[i]-t[i-1] < Math.abs(x[i]-x[i-1]) + Math.abs(y[i]-y[i-1]) || (t[i] - x[i] - y[i]) % 2 != 0) {
				ok = false;
				break;
			}
		}
		System.out.println(ok ? "Yes" : "No");
	}

}