import java.util.Scanner;

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];
		
		for(int i = 1; i <= N; i++) {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();		
		}
		
		int count = 0;
		
		for(int i = 1; i <= N; i++) {
			int check = Math.abs(x[i] - x[i - 1]) + Math.abs(y[i] - y[i - 1]) - (t[i] - t[i - 1]);
			if(check <= 0 && -check % 2 == 0) {
				count++;
			} else {
				System.out.println("No");
				break;
			}
		}
		if(count == N) {
			System.out.println("Yes");
		}
	}
} import java.util.Scanner; Scanner 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];
		
		for(int i = 1; i <= N; i++) {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();		
		}
		
		int count = 0;
		
		for(int i = 1; i <= N; i++) {
			int check = Math.abs(x[i] - x[i - 1]) + Math.abs(y[i] - y[i - 1]) - (t[i] - t[i - 1]);
			if(check <= 0 && -check % 2 == 0) {
				count++;
			} else {
				System.out.println("No");
				break;
			}
		}
		if(count == N) {
			System.out.println("Yes");
		}
	}
} 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];
		
		for(int i = 1; i <= N; i++) {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();		
		}
		
		int count = 0;
		
		for(int i = 1; i <= N; i++) {
			int check = Math.abs(x[i] - x[i - 1]) + Math.abs(y[i] - y[i - 1]) - (t[i] - t[i - 1]);
			if(check <= 0 && -check % 2 == 0) {
				count++;
			} else {
				System.out.println("No");
				break;
			}
		}
		if(count == N) {
			System.out.println("Yes");
		}
	} 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];
		
		for(int i = 1; i <= N; i++) {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();		
		}
		
		int count = 0;
		
		for(int i = 1; i <= N; i++) {
			int check = Math.abs(x[i] - x[i - 1]) + Math.abs(y[i] - y[i - 1]) - (t[i] - t[i - 1]);
			if(check <= 0 && -check % 2 == 0) {
				count++;
			} else {
				System.out.println("No");
				break;
			}
		}
		if(count == N) {
			System.out.println("Yes");
		}
	} 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 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 int count = 0; count 0 for(int i = 1; i <= N; i++) {
			int check = Math.abs(x[i] - x[i - 1]) + Math.abs(y[i] - y[i - 1]) - (t[i] - t[i - 1]);
			if(check <= 0 && -check % 2 == 0) {
				count++;
			} else {
				System.out.println("No");
				break;
			}
		} int i = 1; int i = 1; i 1 i <= N i N i++ i++ i {
			int check = Math.abs(x[i] - x[i - 1]) + Math.abs(y[i] - y[i - 1]) - (t[i] - t[i - 1]);
			if(check <= 0 && -check % 2 == 0) {
				count++;
			} else {
				System.out.println("No");
				break;
			}
		} {
			int check = Math.abs(x[i] - x[i - 1]) + Math.abs(y[i] - y[i - 1]) - (t[i] - t[i - 1]);
			if(check <= 0 && -check % 2 == 0) {
				count++;
			} else {
				System.out.println("No");
				break;
			}
		} int check = Math.abs(x[i] - x[i - 1]) + Math.abs(y[i] - y[i - 1]) - (t[i] - t[i - 1]); check Math.abs(x[i] - x[i - 1]) + Math.abs(y[i] - y[i - 1]) - (t[i] - t[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] - t[i - 1]) t[i] t i t[i - 1] t i - 1 i 1 if(check <= 0 && -check % 2 == 0) {
				count++;
			} else {
				System.out.println("No");
				break;
			} check <= 0 && -check % 2 == 0 check <= 0 check 0 -check % 2 == 0 -check % 2 -check check 2 0 {
				count++;
			} count++ count {
				System.out.println("No");
				break;
			} System.out.println("No") System.out.println System.out System System.out "No" break; if(count == N) {
			System.out.println("Yes");
		} count == N count N {
			System.out.println("Yes");
		} 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) {
		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];
		
		for(int i = 1; i <= N; i++) {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();		
		}
		
		int count = 0;
		
		for(int i = 1; i <= N; i++) {
			int check = Math.abs(x[i] - x[i - 1]) + Math.abs(y[i] - y[i - 1]) - (t[i] - t[i - 1]);
			if(check <= 0 && -check % 2 == 0) {
				count++;
			} else {
				System.out.println("No");
				break;
			}
		}
		if(count == N) {
			System.out.println("Yes");
		}
	}
} 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];
		
		for(int i = 1; i <= N; i++) {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();		
		}
		
		int count = 0;
		
		for(int i = 1; i <= N; i++) {
			int check = Math.abs(x[i] - x[i - 1]) + Math.abs(y[i] - y[i - 1]) - (t[i] - t[i - 1]);
			if(check <= 0 && -check % 2 == 0) {
				count++;
			} else {
				System.out.println("No");
				break;
			}
		}
		if(count == N) {
			System.out.println("Yes");
		}
	}
} Main
import java.util.Scanner;

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];
		
		for(int i = 1; i <= N; i++) {
			t[i] = sc.nextInt();
			x[i] = sc.nextInt();
			y[i] = sc.nextInt();		
		}
		
		int count = 0;
		
		for(int i = 1; i <= N; i++) {
			int check = Math.abs(x[i] - x[i - 1]) + Math.abs(y[i] - y[i - 1]) - (t[i] - t[i - 1]);
			if(check <= 0 && -check % 2 == 0) {
				count++;
			} else {
				System.out.println("No");
				break;
			}
		}
		if(count == N) {
			System.out.println("Yes");
		}
	}
}
