import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int preT = 0;
		int preX = 0;
		int preY = 0;
		int N = sc.nextInt();
		boolean availableFlag = true;
		for(int i=0; i<N; i++) {
			int t = sc.nextInt();
			int x = sc.nextInt();
			int y = sc.nextInt();

			int difference = t - preT;
			int dist = Math.abs(x - preX) + Math.abs(y - preY);
			if(difference < dist || ((dist - difference) % 2 != 0)){
				availableFlag = false;
				break;
			}
			preT = t;
			preX = x;
			preY = y;
		}

		String result = availableFlag ? "Yes" : "No";
		System.out.println(result);

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

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int preT = 0;
		int preX = 0;
		int preY = 0;
		int N = sc.nextInt();
		boolean availableFlag = true;
		for(int i=0; i<N; i++) {
			int t = sc.nextInt();
			int x = sc.nextInt();
			int y = sc.nextInt();

			int difference = t - preT;
			int dist = Math.abs(x - preX) + Math.abs(y - preY);
			if(difference < dist || ((dist - difference) % 2 != 0)){
				availableFlag = false;
				break;
			}
			preT = t;
			preX = x;
			preY = y;
		}

		String result = availableFlag ? "Yes" : "No";
		System.out.println(result);

	}
} Main public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int preT = 0;
		int preX = 0;
		int preY = 0;
		int N = sc.nextInt();
		boolean availableFlag = true;
		for(int i=0; i<N; i++) {
			int t = sc.nextInt();
			int x = sc.nextInt();
			int y = sc.nextInt();

			int difference = t - preT;
			int dist = Math.abs(x - preX) + Math.abs(y - preY);
			if(difference < dist || ((dist - difference) % 2 != 0)){
				availableFlag = false;
				break;
			}
			preT = t;
			preX = x;
			preY = y;
		}

		String result = availableFlag ? "Yes" : "No";
		System.out.println(result);

	} main {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int preT = 0;
		int preX = 0;
		int preY = 0;
		int N = sc.nextInt();
		boolean availableFlag = true;
		for(int i=0; i<N; i++) {
			int t = sc.nextInt();
			int x = sc.nextInt();
			int y = sc.nextInt();

			int difference = t - preT;
			int dist = Math.abs(x - preX) + Math.abs(y - preY);
			if(difference < dist || ((dist - difference) % 2 != 0)){
				availableFlag = false;
				break;
			}
			preT = t;
			preX = x;
			preY = y;
		}

		String result = availableFlag ? "Yes" : "No";
		System.out.println(result);

	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int preT = 0; preT 0 int preX = 0; preX 0 int preY = 0; preY 0 int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc boolean availableFlag = true; availableFlag true for(int i=0; i<N; i++) {
			int t = sc.nextInt();
			int x = sc.nextInt();
			int y = sc.nextInt();

			int difference = t - preT;
			int dist = Math.abs(x - preX) + Math.abs(y - preY);
			if(difference < dist || ((dist - difference) % 2 != 0)){
				availableFlag = false;
				break;
			}
			preT = t;
			preX = x;
			preY = y;
		} int i=0; int i=0; i 0 i<N i N i++ i++ i {
			int t = sc.nextInt();
			int x = sc.nextInt();
			int y = sc.nextInt();

			int difference = t - preT;
			int dist = Math.abs(x - preX) + Math.abs(y - preY);
			if(difference < dist || ((dist - difference) % 2 != 0)){
				availableFlag = false;
				break;
			}
			preT = t;
			preX = x;
			preY = y;
		} {
			int t = sc.nextInt();
			int x = sc.nextInt();
			int y = sc.nextInt();

			int difference = t - preT;
			int dist = Math.abs(x - preX) + Math.abs(y - preY);
			if(difference < dist || ((dist - difference) % 2 != 0)){
				availableFlag = false;
				break;
			}
			preT = t;
			preX = x;
			preY = y;
		} int t = sc.nextInt(); t sc.nextInt() sc.nextInt sc int x = sc.nextInt(); x sc.nextInt() sc.nextInt sc int y = sc.nextInt(); y sc.nextInt() sc.nextInt sc int difference = t - preT; difference t - preT t preT int dist = Math.abs(x - preX) + Math.abs(y - preY); dist Math.abs(x - preX) + Math.abs(y - preY) Math.abs(x - preX) Math.abs Math x - preX x preX Math.abs(y - preY) Math.abs Math y - preY y preY if(difference < dist || ((dist - difference) % 2 != 0)){
				availableFlag = false;
				break;
			} difference < dist || ((dist - difference) % 2 != 0) difference < dist difference dist ((dist - difference) % 2 != 0) (dist - difference) % 2 (dist - difference) dist difference 2 0 {
				availableFlag = false;
				break;
			} availableFlag = false availableFlag false break; preT = t preT t preX = x preX x preY = y preY y String result = availableFlag ? "Yes" : "No"; result availableFlag ? "Yes" : "No" availableFlag "Yes" "No" System.out.println(result) System.out.println System.out System System.out result String[] args args public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int preT = 0;
		int preX = 0;
		int preY = 0;
		int N = sc.nextInt();
		boolean availableFlag = true;
		for(int i=0; i<N; i++) {
			int t = sc.nextInt();
			int x = sc.nextInt();
			int y = sc.nextInt();

			int difference = t - preT;
			int dist = Math.abs(x - preX) + Math.abs(y - preY);
			if(difference < dist || ((dist - difference) % 2 != 0)){
				availableFlag = false;
				break;
			}
			preT = t;
			preX = x;
			preY = y;
		}

		String result = availableFlag ? "Yes" : "No";
		System.out.println(result);

	}
} public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int preT = 0;
		int preX = 0;
		int preY = 0;
		int N = sc.nextInt();
		boolean availableFlag = true;
		for(int i=0; i<N; i++) {
			int t = sc.nextInt();
			int x = sc.nextInt();
			int y = sc.nextInt();

			int difference = t - preT;
			int dist = Math.abs(x - preX) + Math.abs(y - preY);
			if(difference < dist || ((dist - difference) % 2 != 0)){
				availableFlag = false;
				break;
			}
			preT = t;
			preX = x;
			preY = y;
		}

		String result = availableFlag ? "Yes" : "No";
		System.out.println(result);

	}
} Main
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int preT = 0;
		int preX = 0;
		int preY = 0;
		int N = sc.nextInt();
		boolean availableFlag = true;
		for(int i=0; i<N; i++) {
			int t = sc.nextInt();
			int x = sc.nextInt();
			int y = sc.nextInt();

			int difference = t - preT;
			int dist = Math.abs(x - preX) + Math.abs(y - preY);
			if(difference < dist || ((dist - difference) % 2 != 0)){
				availableFlag = false;
				break;
			}
			preT = t;
			preX = x;
			preY = y;
		}

		String result = availableFlag ? "Yes" : "No";
		System.out.println(result);

	}
}