import java.lang.reflect.Array;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Stream;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int posx = 0;
        int posy = 0;
        int totalTime = 0;

        boolean flag = false;

        for(int i=0; i<num; i++){
            int time = sc.nextInt();
            int x = sc.nextInt();
            int y = sc.nextInt();

            int timeDiff = time - totalTime;

            int xdiff = Math.abs(x - posx);
            int ydiff = Math.abs(y - posy);
            int totalDiff = xdiff + ydiff;

            boolean DiffIsOdd = numIsOdd(timeDiff - totalDiff);

            if (totalDiff > timeDiff || DiffIsOdd){
                flag = false;
                break;
            } else {
                flag = true;
            }
            totalTime = time;
            posx = x;
            posy = y;
        }

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

    public static boolean numIsOdd(int num){
        if (num % 2 == 0){
            return false;
        }else{
            return true;
        }
    }
} import java.lang.reflect.Array; Array java.lang.reflect import java.math.BigDecimal; BigDecimal java.math import java.util.*; util.* java import java.util.stream.Stream; Stream java.util.stream public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int posx = 0;
        int posy = 0;
        int totalTime = 0;

        boolean flag = false;

        for(int i=0; i<num; i++){
            int time = sc.nextInt();
            int x = sc.nextInt();
            int y = sc.nextInt();

            int timeDiff = time - totalTime;

            int xdiff = Math.abs(x - posx);
            int ydiff = Math.abs(y - posy);
            int totalDiff = xdiff + ydiff;

            boolean DiffIsOdd = numIsOdd(timeDiff - totalDiff);

            if (totalDiff > timeDiff || DiffIsOdd){
                flag = false;
                break;
            } else {
                flag = true;
            }
            totalTime = time;
            posx = x;
            posy = y;
        }

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

    public static boolean numIsOdd(int num){
        if (num % 2 == 0){
            return false;
        }else{
            return true;
        }
    }
} Main public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int posx = 0;
        int posy = 0;
        int totalTime = 0;

        boolean flag = false;

        for(int i=0; i<num; i++){
            int time = sc.nextInt();
            int x = sc.nextInt();
            int y = sc.nextInt();

            int timeDiff = time - totalTime;

            int xdiff = Math.abs(x - posx);
            int ydiff = Math.abs(y - posy);
            int totalDiff = xdiff + ydiff;

            boolean DiffIsOdd = numIsOdd(timeDiff - totalDiff);

            if (totalDiff > timeDiff || DiffIsOdd){
                flag = false;
                break;
            } else {
                flag = true;
            }
            totalTime = time;
            posx = x;
            posy = y;
        }

        if(flag){
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    } main {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int posx = 0;
        int posy = 0;
        int totalTime = 0;

        boolean flag = false;

        for(int i=0; i<num; i++){
            int time = sc.nextInt();
            int x = sc.nextInt();
            int y = sc.nextInt();

            int timeDiff = time - totalTime;

            int xdiff = Math.abs(x - posx);
            int ydiff = Math.abs(y - posy);
            int totalDiff = xdiff + ydiff;

            boolean DiffIsOdd = numIsOdd(timeDiff - totalDiff);

            if (totalDiff > timeDiff || DiffIsOdd){
                flag = false;
                break;
            } else {
                flag = true;
            }
            totalTime = time;
            posx = x;
            posy = y;
        }

        if(flag){
            System.out.println("Yes");
        } else {
            System.out.println("No");
        }
    } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int num = sc.nextInt(); num sc.nextInt() sc.nextInt sc int posx = 0; posx 0 int posy = 0; posy 0 int totalTime = 0; totalTime 0 boolean flag = false; flag false for(int i=0; i<num; i++){
            int time = sc.nextInt();
            int x = sc.nextInt();
            int y = sc.nextInt();

            int timeDiff = time - totalTime;

            int xdiff = Math.abs(x - posx);
            int ydiff = Math.abs(y - posy);
            int totalDiff = xdiff + ydiff;

            boolean DiffIsOdd = numIsOdd(timeDiff - totalDiff);

            if (totalDiff > timeDiff || DiffIsOdd){
                flag = false;
                break;
            } else {
                flag = true;
            }
            totalTime = time;
            posx = x;
            posy = y;
        } int i=0; int i=0; i 0 i<num i num i++ i++ i {
            int time = sc.nextInt();
            int x = sc.nextInt();
            int y = sc.nextInt();

            int timeDiff = time - totalTime;

            int xdiff = Math.abs(x - posx);
            int ydiff = Math.abs(y - posy);
            int totalDiff = xdiff + ydiff;

            boolean DiffIsOdd = numIsOdd(timeDiff - totalDiff);

            if (totalDiff > timeDiff || DiffIsOdd){
                flag = false;
                break;
            } else {
                flag = true;
            }
            totalTime = time;
            posx = x;
            posy = y;
        } {
            int time = sc.nextInt();
            int x = sc.nextInt();
            int y = sc.nextInt();

            int timeDiff = time - totalTime;

            int xdiff = Math.abs(x - posx);
            int ydiff = Math.abs(y - posy);
            int totalDiff = xdiff + ydiff;

            boolean DiffIsOdd = numIsOdd(timeDiff - totalDiff);

            if (totalDiff > timeDiff || DiffIsOdd){
                flag = false;
                break;
            } else {
                flag = true;
            }
            totalTime = time;
            posx = x;
            posy = y;
        } int time = sc.nextInt(); time sc.nextInt() sc.nextInt sc int x = sc.nextInt(); x sc.nextInt() sc.nextInt sc int y = sc.nextInt(); y sc.nextInt() sc.nextInt sc int timeDiff = time - totalTime; timeDiff time - totalTime time totalTime int xdiff = Math.abs(x - posx); xdiff Math.abs(x - posx) Math.abs Math x - posx x posx int ydiff = Math.abs(y - posy); ydiff Math.abs(y - posy) Math.abs Math y - posy y posy int totalDiff = xdiff + ydiff; totalDiff xdiff + ydiff xdiff ydiff boolean DiffIsOdd = numIsOdd(timeDiff - totalDiff); DiffIsOdd numIsOdd(timeDiff - totalDiff) numIsOdd timeDiff - totalDiff timeDiff totalDiff if (totalDiff > timeDiff || DiffIsOdd){
                flag = false;
                break;
            } else {
                flag = true;
            } totalDiff > timeDiff || DiffIsOdd totalDiff > timeDiff totalDiff timeDiff DiffIsOdd {
                flag = false;
                break;
            } flag = false flag false break; {
                flag = true;
            } flag = true flag true totalTime = time totalTime time posx = x posx x posy = y posy y 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 static boolean numIsOdd(int num){
        if (num % 2 == 0){
            return false;
        }else{
            return true;
        }
    } numIsOdd {
        if (num % 2 == 0){
            return false;
        }else{
            return true;
        }
    } if (num % 2 == 0){
            return false;
        }else{
            return true;
        } num % 2 == 0 num % 2 num 2 0 {
            return false;
        } return false; false {
            return true;
        } return true; true int num num public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int posx = 0;
        int posy = 0;
        int totalTime = 0;

        boolean flag = false;

        for(int i=0; i<num; i++){
            int time = sc.nextInt();
            int x = sc.nextInt();
            int y = sc.nextInt();

            int timeDiff = time - totalTime;

            int xdiff = Math.abs(x - posx);
            int ydiff = Math.abs(y - posy);
            int totalDiff = xdiff + ydiff;

            boolean DiffIsOdd = numIsOdd(timeDiff - totalDiff);

            if (totalDiff > timeDiff || DiffIsOdd){
                flag = false;
                break;
            } else {
                flag = true;
            }
            totalTime = time;
            posx = x;
            posy = y;
        }

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

    public static boolean numIsOdd(int num){
        if (num % 2 == 0){
            return false;
        }else{
            return true;
        }
    }
} public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int posx = 0;
        int posy = 0;
        int totalTime = 0;

        boolean flag = false;

        for(int i=0; i<num; i++){
            int time = sc.nextInt();
            int x = sc.nextInt();
            int y = sc.nextInt();

            int timeDiff = time - totalTime;

            int xdiff = Math.abs(x - posx);
            int ydiff = Math.abs(y - posy);
            int totalDiff = xdiff + ydiff;

            boolean DiffIsOdd = numIsOdd(timeDiff - totalDiff);

            if (totalDiff > timeDiff || DiffIsOdd){
                flag = false;
                break;
            } else {
                flag = true;
            }
            totalTime = time;
            posx = x;
            posy = y;
        }

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

    public static boolean numIsOdd(int num){
        if (num % 2 == 0){
            return false;
        }else{
            return true;
        }
    }
} Main
import java.lang.reflect.Array;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Stream;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int posx = 0;
        int posy = 0;
        int totalTime = 0;

        boolean flag = false;

        for(int i=0; i<num; i++){
            int time = sc.nextInt();
            int x = sc.nextInt();
            int y = sc.nextInt();

            int timeDiff = time - totalTime;

            int xdiff = Math.abs(x - posx);
            int ydiff = Math.abs(y - posy);
            int totalDiff = xdiff + ydiff;

            boolean DiffIsOdd = numIsOdd(timeDiff - totalDiff);

            if (totalDiff > timeDiff || DiffIsOdd){
                flag = false;
                break;
            } else {
                flag = true;
            }
            totalTime = time;
            posx = x;
            posy = y;
        }

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

    public static boolean numIsOdd(int num){
        if (num % 2 == 0){
            return false;
        }else{
            return true;
        }
    }
}
