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 = new int[n];
        int[] x = new int[n];
        int[] y = new int[n];
        for (int i = 0; i < n; i++) {
            t[i] = Integer.parseInt(sc.next());
            x[i] = Integer.parseInt(sc.next());
            y[i] = Integer.parseInt(sc.next());
        }

        // 主処理
        boolean judge = true;
        for (int i = 0; i < n && judge; i++) {

            int pointSum = Math.abs(x[i]) + Math.abs(y[i]);

            if (t[i] < pointSum) {
                judge = false;

            } else if (pointSum < t[i]) {

                if (t[i] % 2 == 0 && pointSum % 2 == 1) {
                    judge = false;

                } else if (t[i] % 2 == 1 && pointSum % 2 == 0) {
                    judge = false;
                }
            }
        }

        String result = judge ? "Yes" : "No";

        // 出力
        System.out.println(result);
        sc.close();
    }
} 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 = new int[n];
        int[] x = new int[n];
        int[] y = new int[n];
        for (int i = 0; i < n; i++) {
            t[i] = Integer.parseInt(sc.next());
            x[i] = Integer.parseInt(sc.next());
            y[i] = Integer.parseInt(sc.next());
        }

        // 主処理
        boolean judge = true;
        for (int i = 0; i < n && judge; i++) {

            int pointSum = Math.abs(x[i]) + Math.abs(y[i]);

            if (t[i] < pointSum) {
                judge = false;

            } else if (pointSum < t[i]) {

                if (t[i] % 2 == 0 && pointSum % 2 == 1) {
                    judge = false;

                } else if (t[i] % 2 == 1 && pointSum % 2 == 0) {
                    judge = false;
                }
            }
        }

        String result = judge ? "Yes" : "No";

        // 出力
        System.out.println(result);
        sc.close();
    }
} Main public static void main(String args[]) {

        // 入力
        Scanner sc = new Scanner(System.in);
        int n = Integer.parseInt(sc.next());
        int[] t = new int[n];
        int[] x = new int[n];
        int[] y = new int[n];
        for (int i = 0; i < n; i++) {
            t[i] = Integer.parseInt(sc.next());
            x[i] = Integer.parseInt(sc.next());
            y[i] = Integer.parseInt(sc.next());
        }

        // 主処理
        boolean judge = true;
        for (int i = 0; i < n && judge; i++) {

            int pointSum = Math.abs(x[i]) + Math.abs(y[i]);

            if (t[i] < pointSum) {
                judge = false;

            } else if (pointSum < t[i]) {

                if (t[i] % 2 == 0 && pointSum % 2 == 1) {
                    judge = false;

                } else if (t[i] % 2 == 1 && pointSum % 2 == 0) {
                    judge = false;
                }
            }
        }

        String result = judge ? "Yes" : "No";

        // 出力
        System.out.println(result);
        sc.close();
    } main {

        // 入力
        Scanner sc = new Scanner(System.in);
        int n = Integer.parseInt(sc.next());
        int[] t = new int[n];
        int[] x = new int[n];
        int[] y = new int[n];
        for (int i = 0; i < n; i++) {
            t[i] = Integer.parseInt(sc.next());
            x[i] = Integer.parseInt(sc.next());
            y[i] = Integer.parseInt(sc.next());
        }

        // 主処理
        boolean judge = true;
        for (int i = 0; i < n && judge; i++) {

            int pointSum = Math.abs(x[i]) + Math.abs(y[i]);

            if (t[i] < pointSum) {
                judge = false;

            } else if (pointSum < t[i]) {

                if (t[i] % 2 == 0 && pointSum % 2 == 1) {
                    judge = false;

                } else if (t[i] % 2 == 1 && pointSum % 2 == 0) {
                    judge = false;
                }
            }
        }

        String result = judge ? "Yes" : "No";

        // 出力
        System.out.println(result);
        sc.close();
    } 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 = 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] = Integer.parseInt(sc.next());
            x[i] = Integer.parseInt(sc.next());
            y[i] = Integer.parseInt(sc.next());
        } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
            t[i] = Integer.parseInt(sc.next());
            x[i] = Integer.parseInt(sc.next());
            y[i] = Integer.parseInt(sc.next());
        } {
            t[i] = Integer.parseInt(sc.next());
            x[i] = Integer.parseInt(sc.next());
            y[i] = Integer.parseInt(sc.next());
        } t[i] = Integer.parseInt(sc.next()) t[i] t i Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc x[i] = Integer.parseInt(sc.next()) x[i] x i Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc y[i] = Integer.parseInt(sc.next()) y[i] y i Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc boolean judge = true; judge true for (int i = 0; i < n && judge; i++) {

            int pointSum = Math.abs(x[i]) + Math.abs(y[i]);

            if (t[i] < pointSum) {
                judge = false;

            } else if (pointSum < t[i]) {

                if (t[i] % 2 == 0 && pointSum % 2 == 1) {
                    judge = false;

                } else if (t[i] % 2 == 1 && pointSum % 2 == 0) {
                    judge = false;
                }
            }
        } int i = 0; int i = 0; i 0 i < n && judge i < n i n judge i++ i++ i {

            int pointSum = Math.abs(x[i]) + Math.abs(y[i]);

            if (t[i] < pointSum) {
                judge = false;

            } else if (pointSum < t[i]) {

                if (t[i] % 2 == 0 && pointSum % 2 == 1) {
                    judge = false;

                } else if (t[i] % 2 == 1 && pointSum % 2 == 0) {
                    judge = false;
                }
            }
        } {

            int pointSum = Math.abs(x[i]) + Math.abs(y[i]);

            if (t[i] < pointSum) {
                judge = false;

            } else if (pointSum < t[i]) {

                if (t[i] % 2 == 0 && pointSum % 2 == 1) {
                    judge = false;

                } else if (t[i] % 2 == 1 && pointSum % 2 == 0) {
                    judge = false;
                }
            }
        } int pointSum = Math.abs(x[i]) + Math.abs(y[i]); pointSum Math.abs(x[i]) + Math.abs(y[i]) Math.abs(x[i]) Math.abs Math x[i] x i Math.abs(y[i]) Math.abs Math y[i] y i if (t[i] < pointSum) {
                judge = false;

            } else if (pointSum < t[i]) {

                if (t[i] % 2 == 0 && pointSum % 2 == 1) {
                    judge = false;

                } else if (t[i] % 2 == 1 && pointSum % 2 == 0) {
                    judge = false;
                }
            } t[i] < pointSum t[i] t i pointSum {
                judge = false;

            } judge = false judge false if (pointSum < t[i]) {

                if (t[i] % 2 == 0 && pointSum % 2 == 1) {
                    judge = false;

                } else if (t[i] % 2 == 1 && pointSum % 2 == 0) {
                    judge = false;
                }
            } pointSum < t[i] pointSum t[i] t i {

                if (t[i] % 2 == 0 && pointSum % 2 == 1) {
                    judge = false;

                } else if (t[i] % 2 == 1 && pointSum % 2 == 0) {
                    judge = false;
                }
            } if (t[i] % 2 == 0 && pointSum % 2 == 1) {
                    judge = false;

                } else if (t[i] % 2 == 1 && pointSum % 2 == 0) {
                    judge = false;
                } t[i] % 2 == 0 && pointSum % 2 == 1 t[i] % 2 == 0 t[i] % 2 t[i] t i 2 0 pointSum % 2 == 1 pointSum % 2 pointSum 2 1 {
                    judge = false;

                } judge = false judge false if (t[i] % 2 == 1 && pointSum % 2 == 0) {
                    judge = false;
                } t[i] % 2 == 1 && pointSum % 2 == 0 t[i] % 2 == 1 t[i] % 2 t[i] t i 2 1 pointSum % 2 == 0 pointSum % 2 pointSum 2 0 {
                    judge = false;
                } judge = false judge false String result = judge ? "Yes" : "No"; result judge ? "Yes" : "No" judge "Yes" "No" System.out.println(result) System.out.println System.out System System.out result sc.close() sc.close sc 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 = new int[n];
        int[] x = new int[n];
        int[] y = new int[n];
        for (int i = 0; i < n; i++) {
            t[i] = Integer.parseInt(sc.next());
            x[i] = Integer.parseInt(sc.next());
            y[i] = Integer.parseInt(sc.next());
        }

        // 主処理
        boolean judge = true;
        for (int i = 0; i < n && judge; i++) {

            int pointSum = Math.abs(x[i]) + Math.abs(y[i]);

            if (t[i] < pointSum) {
                judge = false;

            } else if (pointSum < t[i]) {

                if (t[i] % 2 == 0 && pointSum % 2 == 1) {
                    judge = false;

                } else if (t[i] % 2 == 1 && pointSum % 2 == 0) {
                    judge = false;
                }
            }
        }

        String result = judge ? "Yes" : "No";

        // 出力
        System.out.println(result);
        sc.close();
    }
} public class Main {

    public static void main(String args[]) {

        // 入力
        Scanner sc = new Scanner(System.in);
        int n = Integer.parseInt(sc.next());
        int[] t = new int[n];
        int[] x = new int[n];
        int[] y = new int[n];
        for (int i = 0; i < n; i++) {
            t[i] = Integer.parseInt(sc.next());
            x[i] = Integer.parseInt(sc.next());
            y[i] = Integer.parseInt(sc.next());
        }

        // 主処理
        boolean judge = true;
        for (int i = 0; i < n && judge; i++) {

            int pointSum = Math.abs(x[i]) + Math.abs(y[i]);

            if (t[i] < pointSum) {
                judge = false;

            } else if (pointSum < t[i]) {

                if (t[i] % 2 == 0 && pointSum % 2 == 1) {
                    judge = false;

                } else if (t[i] % 2 == 1 && pointSum % 2 == 0) {
                    judge = false;
                }
            }
        }

        String result = judge ? "Yes" : "No";

        // 出力
        System.out.println(result);
        sc.close();
    }
} Main
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 = new int[n];
        int[] x = new int[n];
        int[] y = new int[n];
        for (int i = 0; i < n; i++) {
            t[i] = Integer.parseInt(sc.next());
            x[i] = Integer.parseInt(sc.next());
            y[i] = Integer.parseInt(sc.next());
        }

        // 主処理
        boolean judge = true;
        for (int i = 0; i < n && judge; i++) {

            int pointSum = Math.abs(x[i]) + Math.abs(y[i]);

            if (t[i] < pointSum) {
                judge = false;

            } else if (pointSum < t[i]) {

                if (t[i] % 2 == 0 && pointSum % 2 == 1) {
                    judge = false;

                } else if (t[i] % 2 == 1 && pointSum % 2 == 0) {
                    judge = false;
                }
            }
        }

        String result = judge ? "Yes" : "No";

        // 出力
        System.out.println(result);
        sc.close();
    }
}