import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] t = new int[n];
        int[] x = new int[n];
        int[] y = new int[n];
        for (int i = 0; i < n; i++) {
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }
        boolean flag = true;
        if (t[0] < x[0] + y[0]) {
            flag = false;
        }
        if (t[0] % 2 != (x[0] + y[0]) % 2) {
            flag = false;
        }
        if (n >= 2) {
            for (int i = 0; i < n - 1; i++) {
                int deltaT = t[i + 1] - t[i];
                int deltaX = Math.abs(x[i + 1] - x[i]);
                int deltaY = Math.abs(y[i + 1] - y[i]);
                int deltaPos = deltaX + deltaY;
                if (deltaT < deltaPos) {
                    flag = false;
                }
                if (deltaT % 2 != deltaPos % 2) {
                    flag = false;
                }
            }
        }
        System.out.println(flag ? "Yes" : "No");
    }
} 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();
        int[] t = new int[n];
        int[] x = new int[n];
        int[] y = new int[n];
        for (int i = 0; i < n; i++) {
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }
        boolean flag = true;
        if (t[0] < x[0] + y[0]) {
            flag = false;
        }
        if (t[0] % 2 != (x[0] + y[0]) % 2) {
            flag = false;
        }
        if (n >= 2) {
            for (int i = 0; i < n - 1; i++) {
                int deltaT = t[i + 1] - t[i];
                int deltaX = Math.abs(x[i + 1] - x[i]);
                int deltaY = Math.abs(y[i + 1] - y[i]);
                int deltaPos = deltaX + deltaY;
                if (deltaT < deltaPos) {
                    flag = false;
                }
                if (deltaT % 2 != deltaPos % 2) {
                    flag = false;
                }
            }
        }
        System.out.println(flag ? "Yes" : "No");
    }
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] t = new int[n];
        int[] x = new int[n];
        int[] y = new int[n];
        for (int i = 0; i < n; i++) {
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }
        boolean flag = true;
        if (t[0] < x[0] + y[0]) {
            flag = false;
        }
        if (t[0] % 2 != (x[0] + y[0]) % 2) {
            flag = false;
        }
        if (n >= 2) {
            for (int i = 0; i < n - 1; i++) {
                int deltaT = t[i + 1] - t[i];
                int deltaX = Math.abs(x[i + 1] - x[i]);
                int deltaY = Math.abs(y[i + 1] - y[i]);
                int deltaPos = deltaX + deltaY;
                if (deltaT < deltaPos) {
                    flag = false;
                }
                if (deltaT % 2 != deltaPos % 2) {
                    flag = false;
                }
            }
        }
        System.out.println(flag ? "Yes" : "No");
    } main {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] t = new int[n];
        int[] x = new int[n];
        int[] y = new int[n];
        for (int i = 0; i < n; i++) {
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }
        boolean flag = true;
        if (t[0] < x[0] + y[0]) {
            flag = false;
        }
        if (t[0] % 2 != (x[0] + y[0]) % 2) {
            flag = false;
        }
        if (n >= 2) {
            for (int i = 0; i < n - 1; i++) {
                int deltaT = t[i + 1] - t[i];
                int deltaX = Math.abs(x[i + 1] - x[i]);
                int deltaY = Math.abs(y[i + 1] - y[i]);
                int deltaPos = deltaX + deltaY;
                if (deltaT < deltaPos) {
                    flag = false;
                }
                if (deltaT % 2 != deltaPos % 2) {
                    flag = false;
                }
            }
        }
        System.out.println(flag ? "Yes" : "No");
    } 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]; t new int[n] n int[] x = new int[n]; x new int[n] n int[] y = new int[n]; y new int[n] n for (int i = 0; i < n; i++) {
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        } int i = 0; int i = 0; i 0 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 boolean flag = true; flag true if (t[0] < x[0] + y[0]) {
            flag = false;
        } t[0] < x[0] + y[0] t[0] t 0 x[0] + y[0] x[0] x 0 y[0] y 0 {
            flag = false;
        } flag = false flag false if (t[0] % 2 != (x[0] + y[0]) % 2) {
            flag = false;
        } t[0] % 2 != (x[0] + y[0]) % 2 t[0] % 2 t[0] t 0 2 (x[0] + y[0]) % 2 (x[0] + y[0]) x[0] x 0 y[0] y 0 2 {
            flag = false;
        } flag = false flag false if (n >= 2) {
            for (int i = 0; i < n - 1; i++) {
                int deltaT = t[i + 1] - t[i];
                int deltaX = Math.abs(x[i + 1] - x[i]);
                int deltaY = Math.abs(y[i + 1] - y[i]);
                int deltaPos = deltaX + deltaY;
                if (deltaT < deltaPos) {
                    flag = false;
                }
                if (deltaT % 2 != deltaPos % 2) {
                    flag = false;
                }
            }
        } n >= 2 n 2 {
            for (int i = 0; i < n - 1; i++) {
                int deltaT = t[i + 1] - t[i];
                int deltaX = Math.abs(x[i + 1] - x[i]);
                int deltaY = Math.abs(y[i + 1] - y[i]);
                int deltaPos = deltaX + deltaY;
                if (deltaT < deltaPos) {
                    flag = false;
                }
                if (deltaT % 2 != deltaPos % 2) {
                    flag = false;
                }
            }
        } for (int i = 0; i < n - 1; i++) {
                int deltaT = t[i + 1] - t[i];
                int deltaX = Math.abs(x[i + 1] - x[i]);
                int deltaY = Math.abs(y[i + 1] - y[i]);
                int deltaPos = deltaX + deltaY;
                if (deltaT < deltaPos) {
                    flag = false;
                }
                if (deltaT % 2 != deltaPos % 2) {
                    flag = false;
                }
            } int i = 0; int i = 0; i 0 i < n - 1 i n - 1 n 1 i++ i++ i {
                int deltaT = t[i + 1] - t[i];
                int deltaX = Math.abs(x[i + 1] - x[i]);
                int deltaY = Math.abs(y[i + 1] - y[i]);
                int deltaPos = deltaX + deltaY;
                if (deltaT < deltaPos) {
                    flag = false;
                }
                if (deltaT % 2 != deltaPos % 2) {
                    flag = false;
                }
            } {
                int deltaT = t[i + 1] - t[i];
                int deltaX = Math.abs(x[i + 1] - x[i]);
                int deltaY = Math.abs(y[i + 1] - y[i]);
                int deltaPos = deltaX + deltaY;
                if (deltaT < deltaPos) {
                    flag = false;
                }
                if (deltaT % 2 != deltaPos % 2) {
                    flag = false;
                }
            } int deltaT = t[i + 1] - t[i]; deltaT t[i + 1] - t[i] t[i + 1] t i + 1 i 1 t[i] t i int deltaX = Math.abs(x[i + 1] - x[i]); deltaX Math.abs(x[i + 1] - x[i]) Math.abs Math x[i + 1] - x[i] x[i + 1] x i + 1 i 1 x[i] x i int deltaY = Math.abs(y[i + 1] - y[i]); deltaY Math.abs(y[i + 1] - y[i]) Math.abs Math y[i + 1] - y[i] y[i + 1] y i + 1 i 1 y[i] y i int deltaPos = deltaX + deltaY; deltaPos deltaX + deltaY deltaX deltaY if (deltaT < deltaPos) {
                    flag = false;
                } deltaT < deltaPos deltaT deltaPos {
                    flag = false;
                } flag = false flag false if (deltaT % 2 != deltaPos % 2) {
                    flag = false;
                } deltaT % 2 != deltaPos % 2 deltaT % 2 deltaT 2 deltaPos % 2 deltaPos 2 {
                    flag = false;
                } flag = false flag false System.out.println(flag ? "Yes" : "No") System.out.println System.out System System.out flag ? "Yes" : "No" flag "Yes" "No" String[] args args public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] t = new int[n];
        int[] x = new int[n];
        int[] y = new int[n];
        for (int i = 0; i < n; i++) {
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }
        boolean flag = true;
        if (t[0] < x[0] + y[0]) {
            flag = false;
        }
        if (t[0] % 2 != (x[0] + y[0]) % 2) {
            flag = false;
        }
        if (n >= 2) {
            for (int i = 0; i < n - 1; i++) {
                int deltaT = t[i + 1] - t[i];
                int deltaX = Math.abs(x[i + 1] - x[i]);
                int deltaY = Math.abs(y[i + 1] - y[i]);
                int deltaPos = deltaX + deltaY;
                if (deltaT < deltaPos) {
                    flag = false;
                }
                if (deltaT % 2 != deltaPos % 2) {
                    flag = false;
                }
            }
        }
        System.out.println(flag ? "Yes" : "No");
    }
} public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] t = new int[n];
        int[] x = new int[n];
        int[] y = new int[n];
        for (int i = 0; i < n; i++) {
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }
        boolean flag = true;
        if (t[0] < x[0] + y[0]) {
            flag = false;
        }
        if (t[0] % 2 != (x[0] + y[0]) % 2) {
            flag = false;
        }
        if (n >= 2) {
            for (int i = 0; i < n - 1; i++) {
                int deltaT = t[i + 1] - t[i];
                int deltaX = Math.abs(x[i + 1] - x[i]);
                int deltaY = Math.abs(y[i + 1] - y[i]);
                int deltaPos = deltaX + deltaY;
                if (deltaT < deltaPos) {
                    flag = false;
                }
                if (deltaT % 2 != deltaPos % 2) {
                    flag = false;
                }
            }
        }
        System.out.println(flag ? "Yes" : "No");
    }
} Main
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] t = new int[n];
        int[] x = new int[n];
        int[] y = new int[n];
        for (int i = 0; i < n; i++) {
            t[i] = sc.nextInt();
            x[i] = sc.nextInt();
            y[i] = sc.nextInt();
        }
        boolean flag = true;
        if (t[0] < x[0] + y[0]) {
            flag = false;
        }
        if (t[0] % 2 != (x[0] + y[0]) % 2) {
            flag = false;
        }
        if (n >= 2) {
            for (int i = 0; i < n - 1; i++) {
                int deltaT = t[i + 1] - t[i];
                int deltaX = Math.abs(x[i + 1] - x[i]);
                int deltaY = Math.abs(y[i + 1] - y[i]);
                int deltaPos = deltaX + deltaY;
                if (deltaT < deltaPos) {
                    flag = false;
                }
                if (deltaT % 2 != deltaPos % 2) {
                    flag = false;
                }
            }
        }
        System.out.println(flag ? "Yes" : "No");
    }
}