import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        sc.nextLine();
        int x = 0, y = 0;
        int t = 0;
        for (int i = 0; i < n; i++) {
            String[] strings = sc.nextLine().split(" ");
            int nt = Integer.parseInt(strings[0]);
            int nx = Integer.parseInt(strings[1]);
            int ny = Integer.parseInt(strings[2]);
            if (!helper(t, x, y, nt, nx, ny)) {
                System.out.println("No");
                return;
            }
            t = nt;
            x = nx;
            y = ny;
        }
        System.out.println("Yes");
    }

    private static boolean helper(int t, int x, int y, int nt, int nx, int ny) {
        int dt = nt - t;
        int dx = Math.abs(nx - x);
        int dy = Math.abs(ny - y);
        if (dx + dy > dt) {
            return false;
        }
        return (dt & 1) == ((dx + dy) & 1);
    }
} import java.util.Scanner; Scanner java.util public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        sc.nextLine();
        int x = 0, y = 0;
        int t = 0;
        for (int i = 0; i < n; i++) {
            String[] strings = sc.nextLine().split(" ");
            int nt = Integer.parseInt(strings[0]);
            int nx = Integer.parseInt(strings[1]);
            int ny = Integer.parseInt(strings[2]);
            if (!helper(t, x, y, nt, nx, ny)) {
                System.out.println("No");
                return;
            }
            t = nt;
            x = nx;
            y = ny;
        }
        System.out.println("Yes");
    }

    private static boolean helper(int t, int x, int y, int nt, int nx, int ny) {
        int dt = nt - t;
        int dx = Math.abs(nx - x);
        int dy = Math.abs(ny - y);
        if (dx + dy > dt) {
            return false;
        }
        return (dt & 1) == ((dx + dy) & 1);
    }
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        sc.nextLine();
        int x = 0, y = 0;
        int t = 0;
        for (int i = 0; i < n; i++) {
            String[] strings = sc.nextLine().split(" ");
            int nt = Integer.parseInt(strings[0]);
            int nx = Integer.parseInt(strings[1]);
            int ny = Integer.parseInt(strings[2]);
            if (!helper(t, x, y, nt, nx, ny)) {
                System.out.println("No");
                return;
            }
            t = nt;
            x = nx;
            y = ny;
        }
        System.out.println("Yes");
    } main {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        sc.nextLine();
        int x = 0, y = 0;
        int t = 0;
        for (int i = 0; i < n; i++) {
            String[] strings = sc.nextLine().split(" ");
            int nt = Integer.parseInt(strings[0]);
            int nx = Integer.parseInt(strings[1]);
            int ny = Integer.parseInt(strings[2]);
            if (!helper(t, x, y, nt, nx, ny)) {
                System.out.println("No");
                return;
            }
            t = nt;
            x = nx;
            y = ny;
        }
        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 sc.nextLine() sc.nextLine sc int x = 0 x 0 y = 0; y 0 int t = 0; t 0 for (int i = 0; i < n; i++) {
            String[] strings = sc.nextLine().split(" ");
            int nt = Integer.parseInt(strings[0]);
            int nx = Integer.parseInt(strings[1]);
            int ny = Integer.parseInt(strings[2]);
            if (!helper(t, x, y, nt, nx, ny)) {
                System.out.println("No");
                return;
            }
            t = nt;
            x = nx;
            y = ny;
        } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
            String[] strings = sc.nextLine().split(" ");
            int nt = Integer.parseInt(strings[0]);
            int nx = Integer.parseInt(strings[1]);
            int ny = Integer.parseInt(strings[2]);
            if (!helper(t, x, y, nt, nx, ny)) {
                System.out.println("No");
                return;
            }
            t = nt;
            x = nx;
            y = ny;
        } {
            String[] strings = sc.nextLine().split(" ");
            int nt = Integer.parseInt(strings[0]);
            int nx = Integer.parseInt(strings[1]);
            int ny = Integer.parseInt(strings[2]);
            if (!helper(t, x, y, nt, nx, ny)) {
                System.out.println("No");
                return;
            }
            t = nt;
            x = nx;
            y = ny;
        } String[] strings = sc.nextLine().split(" "); strings sc.nextLine().split(" ") sc.nextLine().split sc.nextLine() sc.nextLine sc " " int nt = Integer.parseInt(strings[0]); nt Integer.parseInt(strings[0]) Integer.parseInt Integer strings[0] strings 0 int nx = Integer.parseInt(strings[1]); nx Integer.parseInt(strings[1]) Integer.parseInt Integer strings[1] strings 1 int ny = Integer.parseInt(strings[2]); ny Integer.parseInt(strings[2]) Integer.parseInt Integer strings[2] strings 2 if (!helper(t, x, y, nt, nx, ny)) {
                System.out.println("No");
                return;
            } !helper(t, x, y, nt, nx, ny) helper(t, x, y, nt, nx, ny) helper t x y nt nx ny {
                System.out.println("No");
                return;
            } System.out.println("No") System.out.println System.out System System.out "No" return; t = nt t nt x = nx x nx y = ny y ny System.out.println("Yes") System.out.println System.out System System.out "Yes" String[] args args private static boolean helper(int t, int x, int y, int nt, int nx, int ny) {
        int dt = nt - t;
        int dx = Math.abs(nx - x);
        int dy = Math.abs(ny - y);
        if (dx + dy > dt) {
            return false;
        }
        return (dt & 1) == ((dx + dy) & 1);
    } helper {
        int dt = nt - t;
        int dx = Math.abs(nx - x);
        int dy = Math.abs(ny - y);
        if (dx + dy > dt) {
            return false;
        }
        return (dt & 1) == ((dx + dy) & 1);
    } int dt = nt - t; dt nt - t nt t int dx = Math.abs(nx - x); dx Math.abs(nx - x) Math.abs Math nx - x nx x int dy = Math.abs(ny - y); dy Math.abs(ny - y) Math.abs Math ny - y ny y if (dx + dy > dt) {
            return false;
        } dx + dy > dt dx + dy dx dy dt {
            return false;
        } return false; false return (dt & 1) == ((dx + dy) & 1); (dt & 1) == ((dx + dy) & 1) (dt & 1) dt 1 ((dx + dy) & 1) (dx + dy) dx dy 1 int t t int x x int y y int nt nt int nx nx int ny ny public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        sc.nextLine();
        int x = 0, y = 0;
        int t = 0;
        for (int i = 0; i < n; i++) {
            String[] strings = sc.nextLine().split(" ");
            int nt = Integer.parseInt(strings[0]);
            int nx = Integer.parseInt(strings[1]);
            int ny = Integer.parseInt(strings[2]);
            if (!helper(t, x, y, nt, nx, ny)) {
                System.out.println("No");
                return;
            }
            t = nt;
            x = nx;
            y = ny;
        }
        System.out.println("Yes");
    }

    private static boolean helper(int t, int x, int y, int nt, int nx, int ny) {
        int dt = nt - t;
        int dx = Math.abs(nx - x);
        int dy = Math.abs(ny - y);
        if (dx + dy > dt) {
            return false;
        }
        return (dt & 1) == ((dx + dy) & 1);
    }
} public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        sc.nextLine();
        int x = 0, y = 0;
        int t = 0;
        for (int i = 0; i < n; i++) {
            String[] strings = sc.nextLine().split(" ");
            int nt = Integer.parseInt(strings[0]);
            int nx = Integer.parseInt(strings[1]);
            int ny = Integer.parseInt(strings[2]);
            if (!helper(t, x, y, nt, nx, ny)) {
                System.out.println("No");
                return;
            }
            t = nt;
            x = nx;
            y = ny;
        }
        System.out.println("Yes");
    }

    private static boolean helper(int t, int x, int y, int nt, int nx, int ny) {
        int dt = nt - t;
        int dx = Math.abs(nx - x);
        int dy = Math.abs(ny - y);
        if (dx + dy > dt) {
            return false;
        }
        return (dt & 1) == ((dx + dy) & 1);
    }
} Main
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        sc.nextLine();
        int x = 0, y = 0;
        int t = 0;
        for (int i = 0; i < n; i++) {
            String[] strings = sc.nextLine().split(" ");
            int nt = Integer.parseInt(strings[0]);
            int nx = Integer.parseInt(strings[1]);
            int ny = Integer.parseInt(strings[2]);
            if (!helper(t, x, y, nt, nx, ny)) {
                System.out.println("No");
                return;
            }
            t = nt;
            x = nx;
            y = ny;
        }
        System.out.println("Yes");
    }

    private static boolean helper(int t, int x, int y, int nt, int nx, int ny) {
        int dt = nt - t;
        int dx = Math.abs(nx - x);
        int dy = Math.abs(ny - y);
        if (dx + dy > dt) {
            return false;
        }
        return (dt & 1) == ((dx + dy) & 1);
    }
}