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