import java.io.File;
import java.io.IOException;
import java.lang.reflect.Array;
import java.util.*;
import java.util.Map.Entry;

public class Main{
	
	public static void main(String[] args) throws IOException{
		//File file = new File("input.txt");
		//Scanner in = new Scanner(file);
		Scanner in = new Scanner(System.in);
		
		int N = in.nextInt();
		boolean ans = true;
		int px = 0, py = 0, pt = 0;
		for(int i = 0; i < N; i++){
			int t = in.nextInt();
			int x = in.nextInt();
			int y = in.nextInt();
			int dist = Math.abs(x - px) + Math.abs(y - py);
			
			if(t - pt < dist || (t - pt - dist) % 2 != 0){
				ans = false;
				break;
			}else{
				px = x;
				py = y;
				pt = t;
			}
		}
		
		System.out.println(ans ? "Yes" : "No");
	}
} import java.io.File; File java.io import java.io.IOException; IOException java.io import java.lang.reflect.Array; Array java.lang.reflect import java.util.*; util.* java import java.util.Map.Entry; Entry java.util.Map public class Main{
	
	public static void main(String[] args) throws IOException{
		//File file = new File("input.txt");
		//Scanner in = new Scanner(file);
		Scanner in = new Scanner(System.in);
		
		int N = in.nextInt();
		boolean ans = true;
		int px = 0, py = 0, pt = 0;
		for(int i = 0; i < N; i++){
			int t = in.nextInt();
			int x = in.nextInt();
			int y = in.nextInt();
			int dist = Math.abs(x - px) + Math.abs(y - py);
			
			if(t - pt < dist || (t - pt - dist) % 2 != 0){
				ans = false;
				break;
			}else{
				px = x;
				py = y;
				pt = t;
			}
		}
		
		System.out.println(ans ? "Yes" : "No");
	}
} Main public static void main(String[] args) throws IOException{
		//File file = new File("input.txt");
		//Scanner in = new Scanner(file);
		Scanner in = new Scanner(System.in);
		
		int N = in.nextInt();
		boolean ans = true;
		int px = 0, py = 0, pt = 0;
		for(int i = 0; i < N; i++){
			int t = in.nextInt();
			int x = in.nextInt();
			int y = in.nextInt();
			int dist = Math.abs(x - px) + Math.abs(y - py);
			
			if(t - pt < dist || (t - pt - dist) % 2 != 0){
				ans = false;
				break;
			}else{
				px = x;
				py = y;
				pt = t;
			}
		}
		
		System.out.println(ans ? "Yes" : "No");
	} main {
		//File file = new File("input.txt");
		//Scanner in = new Scanner(file);
		Scanner in = new Scanner(System.in);
		
		int N = in.nextInt();
		boolean ans = true;
		int px = 0, py = 0, pt = 0;
		for(int i = 0; i < N; i++){
			int t = in.nextInt();
			int x = in.nextInt();
			int y = in.nextInt();
			int dist = Math.abs(x - px) + Math.abs(y - py);
			
			if(t - pt < dist || (t - pt - dist) % 2 != 0){
				ans = false;
				break;
			}else{
				px = x;
				py = y;
				pt = t;
			}
		}
		
		System.out.println(ans ? "Yes" : "No");
	} Scanner in = new Scanner(System.in); in new Scanner(System.in) int N = in.nextInt(); N in.nextInt() in.nextInt in boolean ans = true; ans true int px = 0 px 0 py = 0 py 0 pt = 0; pt 0 for(int i = 0; i < N; i++){
			int t = in.nextInt();
			int x = in.nextInt();
			int y = in.nextInt();
			int dist = Math.abs(x - px) + Math.abs(y - py);
			
			if(t - pt < dist || (t - pt - dist) % 2 != 0){
				ans = false;
				break;
			}else{
				px = x;
				py = y;
				pt = t;
			}
		} int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
			int t = in.nextInt();
			int x = in.nextInt();
			int y = in.nextInt();
			int dist = Math.abs(x - px) + Math.abs(y - py);
			
			if(t - pt < dist || (t - pt - dist) % 2 != 0){
				ans = false;
				break;
			}else{
				px = x;
				py = y;
				pt = t;
			}
		} {
			int t = in.nextInt();
			int x = in.nextInt();
			int y = in.nextInt();
			int dist = Math.abs(x - px) + Math.abs(y - py);
			
			if(t - pt < dist || (t - pt - dist) % 2 != 0){
				ans = false;
				break;
			}else{
				px = x;
				py = y;
				pt = t;
			}
		} int t = in.nextInt(); t in.nextInt() in.nextInt in int x = in.nextInt(); x in.nextInt() in.nextInt in int y = in.nextInt(); y in.nextInt() in.nextInt in int dist = Math.abs(x - px) + Math.abs(y - py); dist Math.abs(x - px) + Math.abs(y - py) Math.abs(x - px) Math.abs Math x - px x px Math.abs(y - py) Math.abs Math y - py y py if(t - pt < dist || (t - pt - dist) % 2 != 0){
				ans = false;
				break;
			}else{
				px = x;
				py = y;
				pt = t;
			} t - pt < dist || (t - pt - dist) % 2 != 0 t - pt < dist t - pt t pt dist (t - pt - dist) % 2 != 0 (t - pt - dist) % 2 (t - pt - dist) t - pt - dist t pt dist 2 0 {
				ans = false;
				break;
			} ans = false ans false break; {
				px = x;
				py = y;
				pt = t;
			} px = x px x py = y py y pt = t pt t System.out.println(ans ? "Yes" : "No") System.out.println System.out System System.out ans ? "Yes" : "No" ans "Yes" "No" String[] args args public class Main{
	
	public static void main(String[] args) throws IOException{
		//File file = new File("input.txt");
		//Scanner in = new Scanner(file);
		Scanner in = new Scanner(System.in);
		
		int N = in.nextInt();
		boolean ans = true;
		int px = 0, py = 0, pt = 0;
		for(int i = 0; i < N; i++){
			int t = in.nextInt();
			int x = in.nextInt();
			int y = in.nextInt();
			int dist = Math.abs(x - px) + Math.abs(y - py);
			
			if(t - pt < dist || (t - pt - dist) % 2 != 0){
				ans = false;
				break;
			}else{
				px = x;
				py = y;
				pt = t;
			}
		}
		
		System.out.println(ans ? "Yes" : "No");
	}
} public class Main{
	
	public static void main(String[] args) throws IOException{
		//File file = new File("input.txt");
		//Scanner in = new Scanner(file);
		Scanner in = new Scanner(System.in);
		
		int N = in.nextInt();
		boolean ans = true;
		int px = 0, py = 0, pt = 0;
		for(int i = 0; i < N; i++){
			int t = in.nextInt();
			int x = in.nextInt();
			int y = in.nextInt();
			int dist = Math.abs(x - px) + Math.abs(y - py);
			
			if(t - pt < dist || (t - pt - dist) % 2 != 0){
				ans = false;
				break;
			}else{
				px = x;
				py = y;
				pt = t;
			}
		}
		
		System.out.println(ans ? "Yes" : "No");
	}
} Main
import java.io.File;
import java.io.IOException;
import java.lang.reflect.Array;
import java.util.*;
import java.util.Map.Entry;

public class Main{
	
	public static void main(String[] args) throws IOException{
		//File file = new File("input.txt");
		//Scanner in = new Scanner(file);
		Scanner in = new Scanner(System.in);
		
		int N = in.nextInt();
		boolean ans = true;
		int px = 0, py = 0, pt = 0;
		for(int i = 0; i < N; i++){
			int t = in.nextInt();
			int x = in.nextInt();
			int y = in.nextInt();
			int dist = Math.abs(x - px) + Math.abs(y - py);
			
			if(t - pt < dist || (t - pt - dist) % 2 != 0){
				ans = false;
				break;
			}else{
				px = x;
				py = y;
				pt = t;
			}
		}
		
		System.out.println(ans ? "Yes" : "No");
	}
}
