import java.util.*;

public class Main{
    static public void main(String[] argc){
        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];

        t[0] = 0; x[0] = 0; y[0] = 0;
        for(int i=1;i<=N;i++){
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }

        for(int i=0;i<N;i++){
            int dist = Math.abs(x[i] - x[i+1]) + Math.abs(y[i] - y[i+1]);
            int intv = t[i+1] - t[i];

            if(dist > intv || (dist%2) != (intv%2)){
                System.out.println("No");
                return;
            }
        }
        System.out.println("Yes");
        return;
    }
} import java.util.*; util.* java public class Main{
    static public void main(String[] argc){
        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];

        t[0] = 0; x[0] = 0; y[0] = 0;
        for(int i=1;i<=N;i++){
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }

        for(int i=0;i<N;i++){
            int dist = Math.abs(x[i] - x[i+1]) + Math.abs(y[i] - y[i+1]);
            int intv = t[i+1] - t[i];

            if(dist > intv || (dist%2) != (intv%2)){
                System.out.println("No");
                return;
            }
        }
        System.out.println("Yes");
        return;
    }
} Main static public void main(String[] argc){
        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];

        t[0] = 0; x[0] = 0; y[0] = 0;
        for(int i=1;i<=N;i++){
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }

        for(int i=0;i<N;i++){
            int dist = Math.abs(x[i] - x[i+1]) + Math.abs(y[i] - y[i+1]);
            int intv = t[i+1] - t[i];

            if(dist > intv || (dist%2) != (intv%2)){
                System.out.println("No");
                return;
            }
        }
        System.out.println("Yes");
        return;
    } 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];

        t[0] = 0; x[0] = 0; y[0] = 0;
        for(int i=1;i<=N;i++){
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }

        for(int i=0;i<N;i++){
            int dist = Math.abs(x[i] - x[i+1]) + Math.abs(y[i] - y[i+1]);
            int intv = t[i+1] - t[i];

            if(dist > intv || (dist%2) != (intv%2)){
                System.out.println("No");
                return;
            }
        }
        System.out.println("Yes");
        return;
    } 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 t[0] = 0 t[0] t 0 0 x[0] = 0 x[0] x 0 0 y[0] = 0 y[0] y 0 0 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 for(int i=0;i<N;i++){
            int dist = Math.abs(x[i] - x[i+1]) + Math.abs(y[i] - y[i+1]);
            int intv = t[i+1] - t[i];

            if(dist > intv || (dist%2) != (intv%2)){
                System.out.println("No");
                return;
            }
        } int i=0; int i=0; i 0 i<N i N i++ i++ i {
            int dist = Math.abs(x[i] - x[i+1]) + Math.abs(y[i] - y[i+1]);
            int intv = t[i+1] - t[i];

            if(dist > intv || (dist%2) != (intv%2)){
                System.out.println("No");
                return;
            }
        } {
            int dist = Math.abs(x[i] - x[i+1]) + Math.abs(y[i] - y[i+1]);
            int intv = t[i+1] - t[i];

            if(dist > intv || (dist%2) != (intv%2)){
                System.out.println("No");
                return;
            }
        } int dist = Math.abs(x[i] - x[i+1]) + Math.abs(y[i] - y[i+1]); dist 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 int intv = t[i+1] - t[i]; intv t[i+1] - t[i] t[i+1] t i+1 i 1 t[i] t i if(dist > intv || (dist%2) != (intv%2)){
                System.out.println("No");
                return;
            } dist > intv || (dist%2) != (intv%2) dist > intv dist intv (dist%2) != (intv%2) (dist%2) dist 2 (intv%2) intv 2 {
                System.out.println("No");
                return;
            } System.out.println("No") System.out.println System.out System System.out "No" return; System.out.println("Yes") System.out.println System.out System System.out "Yes" return; String[] argc argc public class Main{
    static public void main(String[] argc){
        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];

        t[0] = 0; x[0] = 0; y[0] = 0;
        for(int i=1;i<=N;i++){
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }

        for(int i=0;i<N;i++){
            int dist = Math.abs(x[i] - x[i+1]) + Math.abs(y[i] - y[i+1]);
            int intv = t[i+1] - t[i];

            if(dist > intv || (dist%2) != (intv%2)){
                System.out.println("No");
                return;
            }
        }
        System.out.println("Yes");
        return;
    }
} public class Main{
    static public void main(String[] argc){
        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];

        t[0] = 0; x[0] = 0; y[0] = 0;
        for(int i=1;i<=N;i++){
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }

        for(int i=0;i<N;i++){
            int dist = Math.abs(x[i] - x[i+1]) + Math.abs(y[i] - y[i+1]);
            int intv = t[i+1] - t[i];

            if(dist > intv || (dist%2) != (intv%2)){
                System.out.println("No");
                return;
            }
        }
        System.out.println("Yes");
        return;
    }
} Main
import java.util.*;

public class Main{
    static public void main(String[] argc){
        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];

        t[0] = 0; x[0] = 0; y[0] = 0;
        for(int i=1;i<=N;i++){
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }

        for(int i=0;i<N;i++){
            int dist = Math.abs(x[i] - x[i+1]) + Math.abs(y[i] - y[i+1]);
            int intv = t[i+1] - t[i];

            if(dist > intv || (dist%2) != (intv%2)){
                System.out.println("No");
                return;
            }
        }
        System.out.println("Yes");
        return;
    }
}