import java.util.*;
public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int t = 0;
		int x = 0;
		int y = 0;
		for(int i=0;i<n;i++) {
			int nextt = sc.nextInt();
			int nextx = sc.nextInt();
			int nexty = sc.nextInt();
			
			int dt = nextt - t;
			int dist = Math.abs(nextx-x) + Math.abs(nexty-y);
			if(dt<dist || ((dist-dt)%2 != 0)) {
				System.out.println("No");
				return;
			}
			t = nextt;
			x = nextx;
			y = nexty;
		}
		System.out.println("Yes");
	}

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

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int t = 0;
		int x = 0;
		int y = 0;
		for(int i=0;i<n;i++) {
			int nextt = sc.nextInt();
			int nextx = sc.nextInt();
			int nexty = sc.nextInt();
			
			int dt = nextt - t;
			int dist = Math.abs(nextx-x) + Math.abs(nexty-y);
			if(dt<dist || ((dist-dt)%2 != 0)) {
				System.out.println("No");
				return;
			}
			t = nextt;
			x = nextx;
			y = nexty;
		}
		System.out.println("Yes");
	}

} Main public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int t = 0;
		int x = 0;
		int y = 0;
		for(int i=0;i<n;i++) {
			int nextt = sc.nextInt();
			int nextx = sc.nextInt();
			int nexty = sc.nextInt();
			
			int dt = nextt - t;
			int dist = Math.abs(nextx-x) + Math.abs(nexty-y);
			if(dt<dist || ((dist-dt)%2 != 0)) {
				System.out.println("No");
				return;
			}
			t = nextt;
			x = nextx;
			y = nexty;
		}
		System.out.println("Yes");
	} main {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int t = 0;
		int x = 0;
		int y = 0;
		for(int i=0;i<n;i++) {
			int nextt = sc.nextInt();
			int nextx = sc.nextInt();
			int nexty = sc.nextInt();
			
			int dt = nextt - t;
			int dist = Math.abs(nextx-x) + Math.abs(nexty-y);
			if(dt<dist || ((dist-dt)%2 != 0)) {
				System.out.println("No");
				return;
			}
			t = nextt;
			x = nextx;
			y = nexty;
		}
		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 = 0; t 0 int x = 0; x 0 int y = 0; y 0 for(int i=0;i<n;i++) {
			int nextt = sc.nextInt();
			int nextx = sc.nextInt();
			int nexty = sc.nextInt();
			
			int dt = nextt - t;
			int dist = Math.abs(nextx-x) + Math.abs(nexty-y);
			if(dt<dist || ((dist-dt)%2 != 0)) {
				System.out.println("No");
				return;
			}
			t = nextt;
			x = nextx;
			y = nexty;
		} int i=0; int i=0; i 0 i<n i n i++ i++ i {
			int nextt = sc.nextInt();
			int nextx = sc.nextInt();
			int nexty = sc.nextInt();
			
			int dt = nextt - t;
			int dist = Math.abs(nextx-x) + Math.abs(nexty-y);
			if(dt<dist || ((dist-dt)%2 != 0)) {
				System.out.println("No");
				return;
			}
			t = nextt;
			x = nextx;
			y = nexty;
		} {
			int nextt = sc.nextInt();
			int nextx = sc.nextInt();
			int nexty = sc.nextInt();
			
			int dt = nextt - t;
			int dist = Math.abs(nextx-x) + Math.abs(nexty-y);
			if(dt<dist || ((dist-dt)%2 != 0)) {
				System.out.println("No");
				return;
			}
			t = nextt;
			x = nextx;
			y = nexty;
		} int nextt = sc.nextInt(); nextt sc.nextInt() sc.nextInt sc int nextx = sc.nextInt(); nextx sc.nextInt() sc.nextInt sc int nexty = sc.nextInt(); nexty sc.nextInt() sc.nextInt sc int dt = nextt - t; dt nextt - t nextt t int dist = Math.abs(nextx-x) + Math.abs(nexty-y); dist Math.abs(nextx-x) + Math.abs(nexty-y) Math.abs(nextx-x) Math.abs Math nextx-x nextx x Math.abs(nexty-y) Math.abs Math nexty-y nexty y if(dt<dist || ((dist-dt)%2 != 0)) {
				System.out.println("No");
				return;
			} dt<dist || ((dist-dt)%2 != 0) dt<dist dt dist ((dist-dt)%2 != 0) (dist-dt)%2 (dist-dt) dist dt 2 0 {
				System.out.println("No");
				return;
			} System.out.println("No") System.out.println System.out System System.out "No" return; t = nextt t nextt x = nextx x nextx y = nexty y nexty 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) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int t = 0;
		int x = 0;
		int y = 0;
		for(int i=0;i<n;i++) {
			int nextt = sc.nextInt();
			int nextx = sc.nextInt();
			int nexty = sc.nextInt();
			
			int dt = nextt - t;
			int dist = Math.abs(nextx-x) + Math.abs(nexty-y);
			if(dt<dist || ((dist-dt)%2 != 0)) {
				System.out.println("No");
				return;
			}
			t = nextt;
			x = nextx;
			y = nexty;
		}
		System.out.println("Yes");
	}

} public class Main {

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int t = 0;
		int x = 0;
		int y = 0;
		for(int i=0;i<n;i++) {
			int nextt = sc.nextInt();
			int nextx = sc.nextInt();
			int nexty = sc.nextInt();
			
			int dt = nextt - t;
			int dist = Math.abs(nextx-x) + Math.abs(nexty-y);
			if(dt<dist || ((dist-dt)%2 != 0)) {
				System.out.println("No");
				return;
			}
			t = nextt;
			x = nextx;
			y = nexty;
		}
		System.out.println("Yes");
	}

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

	public static void main(String[] args) {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int t = 0;
		int x = 0;
		int y = 0;
		for(int i=0;i<n;i++) {
			int nextt = sc.nextInt();
			int nextx = sc.nextInt();
			int nexty = sc.nextInt();
			
			int dt = nextt - t;
			int dist = Math.abs(nextx-x) + Math.abs(nexty-y);
			if(dt<dist || ((dist-dt)%2 != 0)) {
				System.out.println("No");
				return;
			}
			t = nextt;
			x = nextx;
			y = nexty;
		}
		System.out.println("Yes");
	}

}