
import java.util.*;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        List<Integer> t = new ArrayList<>();
        List<Integer> x = new ArrayList<>();
        List<Integer> y = new ArrayList<>();
        t.add(0);
        x.add(0);
        y.add(0);
        for (int i = 0; i < n; i++) {
            t.add(sc.nextInt());
            x.add(sc.nextInt());
            y.add(sc.nextInt());
        }

        boolean flag = true;
        for (int i = 0; i < n; i++) {
            int dt = t.get(i+1) - t.get(i);
            int dist = Math.abs(x.get(i+1) - x.get(i)) + Math.abs(y.get(i+1) - y.get(i));
            if (dist > dt) {
                flag = false;
            }
            if (dt%2 != dist%2) {
                flag = false;
            }
        }

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

    }
} import java.util.*; util.* java public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        List<Integer> t = new ArrayList<>();
        List<Integer> x = new ArrayList<>();
        List<Integer> y = new ArrayList<>();
        t.add(0);
        x.add(0);
        y.add(0);
        for (int i = 0; i < n; i++) {
            t.add(sc.nextInt());
            x.add(sc.nextInt());
            y.add(sc.nextInt());
        }

        boolean flag = true;
        for (int i = 0; i < n; i++) {
            int dt = t.get(i+1) - t.get(i);
            int dist = Math.abs(x.get(i+1) - x.get(i)) + Math.abs(y.get(i+1) - y.get(i));
            if (dist > dt) {
                flag = false;
            }
            if (dt%2 != dist%2) {
                flag = false;
            }
        }

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

    }
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        List<Integer> t = new ArrayList<>();
        List<Integer> x = new ArrayList<>();
        List<Integer> y = new ArrayList<>();
        t.add(0);
        x.add(0);
        y.add(0);
        for (int i = 0; i < n; i++) {
            t.add(sc.nextInt());
            x.add(sc.nextInt());
            y.add(sc.nextInt());
        }

        boolean flag = true;
        for (int i = 0; i < n; i++) {
            int dt = t.get(i+1) - t.get(i);
            int dist = Math.abs(x.get(i+1) - x.get(i)) + Math.abs(y.get(i+1) - y.get(i));
            if (dist > dt) {
                flag = false;
            }
            if (dt%2 != dist%2) {
                flag = false;
            }
        }

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

    } main {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        List<Integer> t = new ArrayList<>();
        List<Integer> x = new ArrayList<>();
        List<Integer> y = new ArrayList<>();
        t.add(0);
        x.add(0);
        y.add(0);
        for (int i = 0; i < n; i++) {
            t.add(sc.nextInt());
            x.add(sc.nextInt());
            y.add(sc.nextInt());
        }

        boolean flag = true;
        for (int i = 0; i < n; i++) {
            int dt = t.get(i+1) - t.get(i);
            int dist = Math.abs(x.get(i+1) - x.get(i)) + Math.abs(y.get(i+1) - y.get(i));
            if (dist > dt) {
                flag = false;
            }
            if (dt%2 != dist%2) {
                flag = false;
            }
        }

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

    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc List<Integer> t = new ArrayList<>(); t new ArrayList<>() List<Integer> x = new ArrayList<>(); x new ArrayList<>() List<Integer> y = new ArrayList<>(); y new ArrayList<>() t.add(0) t.add t 0 x.add(0) x.add x 0 y.add(0) y.add y 0 for (int i = 0; i < n; i++) {
            t.add(sc.nextInt());
            x.add(sc.nextInt());
            y.add(sc.nextInt());
        } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
            t.add(sc.nextInt());
            x.add(sc.nextInt());
            y.add(sc.nextInt());
        } {
            t.add(sc.nextInt());
            x.add(sc.nextInt());
            y.add(sc.nextInt());
        } t.add(sc.nextInt()) t.add t sc.nextInt() sc.nextInt sc x.add(sc.nextInt()) x.add x sc.nextInt() sc.nextInt sc y.add(sc.nextInt()) y.add y sc.nextInt() sc.nextInt sc boolean flag = true; flag true for (int i = 0; i < n; i++) {
            int dt = t.get(i+1) - t.get(i);
            int dist = Math.abs(x.get(i+1) - x.get(i)) + Math.abs(y.get(i+1) - y.get(i));
            if (dist > dt) {
                flag = false;
            }
            if (dt%2 != dist%2) {
                flag = false;
            }
        } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
            int dt = t.get(i+1) - t.get(i);
            int dist = Math.abs(x.get(i+1) - x.get(i)) + Math.abs(y.get(i+1) - y.get(i));
            if (dist > dt) {
                flag = false;
            }
            if (dt%2 != dist%2) {
                flag = false;
            }
        } {
            int dt = t.get(i+1) - t.get(i);
            int dist = Math.abs(x.get(i+1) - x.get(i)) + Math.abs(y.get(i+1) - y.get(i));
            if (dist > dt) {
                flag = false;
            }
            if (dt%2 != dist%2) {
                flag = false;
            }
        } int dt = t.get(i+1) - t.get(i); dt t.get(i+1) - t.get(i) t.get(i+1) t.get t i+1 i 1 t.get(i) t.get t i int dist = Math.abs(x.get(i+1) - x.get(i)) + Math.abs(y.get(i+1) - y.get(i)); dist Math.abs(x.get(i+1) - x.get(i)) + Math.abs(y.get(i+1) - y.get(i)) Math.abs(x.get(i+1) - x.get(i)) Math.abs Math x.get(i+1) - x.get(i) x.get(i+1) x.get x i+1 i 1 x.get(i) x.get x i Math.abs(y.get(i+1) - y.get(i)) Math.abs Math y.get(i+1) - y.get(i) y.get(i+1) y.get y i+1 i 1 y.get(i) y.get y i if (dist > dt) {
                flag = false;
            } dist > dt dist dt {
                flag = false;
            } flag = false flag false if (dt%2 != dist%2) {
                flag = false;
            } dt%2 != dist%2 dt%2 dt 2 dist%2 dist 2 {
                flag = false;
            } flag = false flag false if (flag) {
            System.out.println("Yes");
        } else {
            System.out.println("No");
        } flag {
            System.out.println("Yes");
        } System.out.println("Yes") System.out.println System.out System System.out "Yes" {
            System.out.println("No");
        } System.out.println("No") System.out.println System.out System System.out "No" String[] args args public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        List<Integer> t = new ArrayList<>();
        List<Integer> x = new ArrayList<>();
        List<Integer> y = new ArrayList<>();
        t.add(0);
        x.add(0);
        y.add(0);
        for (int i = 0; i < n; i++) {
            t.add(sc.nextInt());
            x.add(sc.nextInt());
            y.add(sc.nextInt());
        }

        boolean flag = true;
        for (int i = 0; i < n; i++) {
            int dt = t.get(i+1) - t.get(i);
            int dist = Math.abs(x.get(i+1) - x.get(i)) + Math.abs(y.get(i+1) - y.get(i));
            if (dist > dt) {
                flag = false;
            }
            if (dt%2 != dist%2) {
                flag = false;
            }
        }

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

    }
} public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        List<Integer> t = new ArrayList<>();
        List<Integer> x = new ArrayList<>();
        List<Integer> y = new ArrayList<>();
        t.add(0);
        x.add(0);
        y.add(0);
        for (int i = 0; i < n; i++) {
            t.add(sc.nextInt());
            x.add(sc.nextInt());
            y.add(sc.nextInt());
        }

        boolean flag = true;
        for (int i = 0; i < n; i++) {
            int dt = t.get(i+1) - t.get(i);
            int dist = Math.abs(x.get(i+1) - x.get(i)) + Math.abs(y.get(i+1) - y.get(i));
            if (dist > dt) {
                flag = false;
            }
            if (dt%2 != dist%2) {
                flag = false;
            }
        }

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

    }
} Main

import java.util.*;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        List<Integer> t = new ArrayList<>();
        List<Integer> x = new ArrayList<>();
        List<Integer> y = new ArrayList<>();
        t.add(0);
        x.add(0);
        y.add(0);
        for (int i = 0; i < n; i++) {
            t.add(sc.nextInt());
            x.add(sc.nextInt());
            y.add(sc.nextInt());
        }

        boolean flag = true;
        for (int i = 0; i < n; i++) {
            int dt = t.get(i+1) - t.get(i);
            int dist = Math.abs(x.get(i+1) - x.get(i)) + Math.abs(y.get(i+1) - y.get(i));
            if (dist > dt) {
                flag = false;
            }
            if (dt%2 != dist%2) {
                flag = false;
            }
        }

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

    }
}