import java.util.*;
import java.util.regex.*;

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

        int dt, dist, diff;
        for (int i = 0; i < n; i++) {
            // dt = t[i+1] - t[i];
            // dist = Math.abs(x[i+1] - x[i]) + Math.abs(y[i+1] - y[i]);
            // if (dt < dist || (dist % 2 != dt % 2)) {
            //     // 出力
            //     System.out.println("No");
            //     return;
            // }
            diff = Math.abs(x[i+1] - x[i]) + Math.abs(y[i+1] - y[i]) - t[i+1] + t[i];
            if (diff > 0 || (diff % 2 != 0)) {
                // 出力
                System.out.println("No");
                return;
            }
        }

        // 出力
        System.out.println("Yes");
    }
} import java.util.*; util.* java import java.util.regex.*; regex.* 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+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();
        }

        int dt, dist, diff;
        for (int i = 0; i < n; i++) {
            // dt = t[i+1] - t[i];
            // dist = Math.abs(x[i+1] - x[i]) + Math.abs(y[i+1] - y[i]);
            // if (dt < dist || (dist % 2 != dt % 2)) {
            //     // 出力
            //     System.out.println("No");
            //     return;
            // }
            diff = Math.abs(x[i+1] - x[i]) + Math.abs(y[i+1] - y[i]) - t[i+1] + t[i];
            if (diff > 0 || (diff % 2 != 0)) {
                // 出力
                System.out.println("No");
                return;
            }
        }

        // 出力
        System.out.println("Yes");
    }
} Main public static void main(String[] args){
        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();
        }

        int dt, dist, diff;
        for (int i = 0; i < n; i++) {
            // dt = t[i+1] - t[i];
            // dist = Math.abs(x[i+1] - x[i]) + Math.abs(y[i+1] - y[i]);
            // if (dt < dist || (dist % 2 != dt % 2)) {
            //     // 出力
            //     System.out.println("No");
            //     return;
            // }
            diff = Math.abs(x[i+1] - x[i]) + Math.abs(y[i+1] - y[i]) - t[i+1] + t[i];
            if (diff > 0 || (diff % 2 != 0)) {
                // 出力
                System.out.println("No");
                return;
            }
        }

        // 出力
        System.out.println("Yes");
    } 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();
        }

        int dt, dist, diff;
        for (int i = 0; i < n; i++) {
            // dt = t[i+1] - t[i];
            // dist = Math.abs(x[i+1] - x[i]) + Math.abs(y[i+1] - y[i]);
            // if (dt < dist || (dist % 2 != dt % 2)) {
            //     // 出力
            //     System.out.println("No");
            //     return;
            // }
            diff = Math.abs(x[i+1] - x[i]) + Math.abs(y[i+1] - y[i]) - t[i+1] + t[i];
            if (diff > 0 || (diff % 2 != 0)) {
                // 出力
                System.out.println("No");
                return;
            }
        }

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

        int dt, dist, diff;
        for (int i = 0; i < n; i++) {
            // dt = t[i+1] - t[i];
            // dist = Math.abs(x[i+1] - x[i]) + Math.abs(y[i+1] - y[i]);
            // if (dt < dist || (dist % 2 != dt % 2)) {
            //     // 出力
            //     System.out.println("No");
            //     return;
            // }
            diff = Math.abs(x[i+1] - x[i]) + Math.abs(y[i+1] - y[i]) - t[i+1] + t[i];
            if (diff > 0 || (diff % 2 != 0)) {
                // 出力
                System.out.println("No");
                return;
            }
        }

        // 出力
        System.out.println("Yes");
    }
} public class Main {
    public static void main(String[] args){
        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();
        }

        int dt, dist, diff;
        for (int i = 0; i < n; i++) {
            // dt = t[i+1] - t[i];
            // dist = Math.abs(x[i+1] - x[i]) + Math.abs(y[i+1] - y[i]);
            // if (dt < dist || (dist % 2 != dt % 2)) {
            //     // 出力
            //     System.out.println("No");
            //     return;
            // }
            diff = Math.abs(x[i+1] - x[i]) + Math.abs(y[i+1] - y[i]) - t[i+1] + t[i];
            if (diff > 0 || (diff % 2 != 0)) {
                // 出力
                System.out.println("No");
                return;
            }
        }

        // 出力
        System.out.println("Yes");
    }
} Main
import java.util.*;
import java.util.regex.*;

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

        int dt, dist, diff;
        for (int i = 0; i < n; i++) {
            // dt = t[i+1] - t[i];
            // dist = Math.abs(x[i+1] - x[i]) + Math.abs(y[i+1] - y[i]);
            // if (dt < dist || (dist % 2 != dt % 2)) {
            //     // 出力
            //     System.out.println("No");
            //     return;
            // }
            diff = Math.abs(x[i+1] - x[i]) + Math.abs(y[i+1] - y[i]) - t[i+1] + t[i];
            if (diff > 0 || (diff % 2 != 0)) {
                // 出力
                System.out.println("No");
                return;
            }
        }

        // 出力
        System.out.println("Yes");
    }
}
