import java.io.PrintWriter;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = Integer.parseInt(sc.next());
        int t;
        int x;
        int y;
        int nt = 0;
        int nx = 0;
        int ny = 0;
        int dist;
        int time;
        boolean successFlg = true;
        PrintWriter out = new PrintWriter(System.out);

        for (int i = 0; i < N; i++) {

            t = Integer.parseInt(sc.next());
            x = Integer.parseInt(sc.next());
            y = Integer.parseInt(sc.next());
            time = t - nt;
            dist = Math.abs(x - nx) + Math.abs(y - ny);

            if (dist > time || (time - dist) % 2 != 0) {
                successFlg = false;
            }

            nt = t;
            nx = x;
            ny = y;
        }

        if (successFlg) {
            out.println("Yes");
        } else {
            out.println("No");
        }

        sc.close();
        out.flush();
    }
} import java.io.PrintWriter; PrintWriter java.io import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = Integer.parseInt(sc.next());
        int t;
        int x;
        int y;
        int nt = 0;
        int nx = 0;
        int ny = 0;
        int dist;
        int time;
        boolean successFlg = true;
        PrintWriter out = new PrintWriter(System.out);

        for (int i = 0; i < N; i++) {

            t = Integer.parseInt(sc.next());
            x = Integer.parseInt(sc.next());
            y = Integer.parseInt(sc.next());
            time = t - nt;
            dist = Math.abs(x - nx) + Math.abs(y - ny);

            if (dist > time || (time - dist) % 2 != 0) {
                successFlg = false;
            }

            nt = t;
            nx = x;
            ny = y;
        }

        if (successFlg) {
            out.println("Yes");
        } else {
            out.println("No");
        }

        sc.close();
        out.flush();
    }
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = Integer.parseInt(sc.next());
        int t;
        int x;
        int y;
        int nt = 0;
        int nx = 0;
        int ny = 0;
        int dist;
        int time;
        boolean successFlg = true;
        PrintWriter out = new PrintWriter(System.out);

        for (int i = 0; i < N; i++) {

            t = Integer.parseInt(sc.next());
            x = Integer.parseInt(sc.next());
            y = Integer.parseInt(sc.next());
            time = t - nt;
            dist = Math.abs(x - nx) + Math.abs(y - ny);

            if (dist > time || (time - dist) % 2 != 0) {
                successFlg = false;
            }

            nt = t;
            nx = x;
            ny = y;
        }

        if (successFlg) {
            out.println("Yes");
        } else {
            out.println("No");
        }

        sc.close();
        out.flush();
    } main {
        Scanner sc = new Scanner(System.in);
        int N = Integer.parseInt(sc.next());
        int t;
        int x;
        int y;
        int nt = 0;
        int nx = 0;
        int ny = 0;
        int dist;
        int time;
        boolean successFlg = true;
        PrintWriter out = new PrintWriter(System.out);

        for (int i = 0; i < N; i++) {

            t = Integer.parseInt(sc.next());
            x = Integer.parseInt(sc.next());
            y = Integer.parseInt(sc.next());
            time = t - nt;
            dist = Math.abs(x - nx) + Math.abs(y - ny);

            if (dist > time || (time - dist) % 2 != 0) {
                successFlg = false;
            }

            nt = t;
            nx = x;
            ny = y;
        }

        if (successFlg) {
            out.println("Yes");
        } else {
            out.println("No");
        }

        sc.close();
        out.flush();
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = Integer.parseInt(sc.next()); N Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc int t; t int x; x int y; y int nt = 0; nt 0 int nx = 0; nx 0 int ny = 0; ny 0 int dist; dist int time; time boolean successFlg = true; successFlg true PrintWriter out = new PrintWriter(System.out); out new PrintWriter(System.out) for (int i = 0; i < N; i++) {

            t = Integer.parseInt(sc.next());
            x = Integer.parseInt(sc.next());
            y = Integer.parseInt(sc.next());
            time = t - nt;
            dist = Math.abs(x - nx) + Math.abs(y - ny);

            if (dist > time || (time - dist) % 2 != 0) {
                successFlg = false;
            }

            nt = t;
            nx = x;
            ny = y;
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {

            t = Integer.parseInt(sc.next());
            x = Integer.parseInt(sc.next());
            y = Integer.parseInt(sc.next());
            time = t - nt;
            dist = Math.abs(x - nx) + Math.abs(y - ny);

            if (dist > time || (time - dist) % 2 != 0) {
                successFlg = false;
            }

            nt = t;
            nx = x;
            ny = y;
        } {

            t = Integer.parseInt(sc.next());
            x = Integer.parseInt(sc.next());
            y = Integer.parseInt(sc.next());
            time = t - nt;
            dist = Math.abs(x - nx) + Math.abs(y - ny);

            if (dist > time || (time - dist) % 2 != 0) {
                successFlg = false;
            }

            nt = t;
            nx = x;
            ny = y;
        } t = Integer.parseInt(sc.next()) t Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc x = Integer.parseInt(sc.next()) x Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc y = Integer.parseInt(sc.next()) y Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc time = t - nt time t - nt t nt dist = Math.abs(x - nx) + Math.abs(y - ny) dist Math.abs(x - nx) + Math.abs(y - ny) Math.abs(x - nx) Math.abs Math x - nx x nx Math.abs(y - ny) Math.abs Math y - ny y ny if (dist > time || (time - dist) % 2 != 0) {
                successFlg = false;
            } dist > time || (time - dist) % 2 != 0 dist > time dist time (time - dist) % 2 != 0 (time - dist) % 2 (time - dist) time dist 2 0 {
                successFlg = false;
            } successFlg = false successFlg false nt = t nt t nx = x nx x ny = y ny y if (successFlg) {
            out.println("Yes");
        } else {
            out.println("No");
        } successFlg {
            out.println("Yes");
        } out.println("Yes") out.println out "Yes" {
            out.println("No");
        } out.println("No") out.println out "No" sc.close() sc.close sc out.flush() out.flush out String[] args args public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = Integer.parseInt(sc.next());
        int t;
        int x;
        int y;
        int nt = 0;
        int nx = 0;
        int ny = 0;
        int dist;
        int time;
        boolean successFlg = true;
        PrintWriter out = new PrintWriter(System.out);

        for (int i = 0; i < N; i++) {

            t = Integer.parseInt(sc.next());
            x = Integer.parseInt(sc.next());
            y = Integer.parseInt(sc.next());
            time = t - nt;
            dist = Math.abs(x - nx) + Math.abs(y - ny);

            if (dist > time || (time - dist) % 2 != 0) {
                successFlg = false;
            }

            nt = t;
            nx = x;
            ny = y;
        }

        if (successFlg) {
            out.println("Yes");
        } else {
            out.println("No");
        }

        sc.close();
        out.flush();
    }
} public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = Integer.parseInt(sc.next());
        int t;
        int x;
        int y;
        int nt = 0;
        int nx = 0;
        int ny = 0;
        int dist;
        int time;
        boolean successFlg = true;
        PrintWriter out = new PrintWriter(System.out);

        for (int i = 0; i < N; i++) {

            t = Integer.parseInt(sc.next());
            x = Integer.parseInt(sc.next());
            y = Integer.parseInt(sc.next());
            time = t - nt;
            dist = Math.abs(x - nx) + Math.abs(y - ny);

            if (dist > time || (time - dist) % 2 != 0) {
                successFlg = false;
            }

            nt = t;
            nx = x;
            ny = y;
        }

        if (successFlg) {
            out.println("Yes");
        } else {
            out.println("No");
        }

        sc.close();
        out.flush();
    }
} Main
import java.io.PrintWriter;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = Integer.parseInt(sc.next());
        int t;
        int x;
        int y;
        int nt = 0;
        int nx = 0;
        int ny = 0;
        int dist;
        int time;
        boolean successFlg = true;
        PrintWriter out = new PrintWriter(System.out);

        for (int i = 0; i < N; i++) {

            t = Integer.parseInt(sc.next());
            x = Integer.parseInt(sc.next());
            y = Integer.parseInt(sc.next());
            time = t - nt;
            dist = Math.abs(x - nx) + Math.abs(y - ny);

            if (dist > time || (time - dist) % 2 != 0) {
                successFlg = false;
            }

            nt = t;
            nx = x;
            ny = y;
        }

        if (successFlg) {
            out.println("Yes");
        } else {
            out.println("No");
        }

        sc.close();
        out.flush();
    }
}