
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * https://qiita.com/drken/items/fd4e5e3630d0f5859067
 *
 * @author YukihiroLocal
 *
 */
public class Main {
  public static void main(String[] args) {


    Scanner sc = new Scanner(System.in);
    // get a integer

    int N = sc.nextInt();
    // System.out.println(" integer is " + N);

    List<Coordinate> coordinateList = new ArrayList<>();
    coordinateList.add(new Coordinate(0, 0, 0));
    for (int i = 0; i < N; i++) {
      int t = sc.nextInt();
      int x = sc.nextInt();
      int y = sc.nextInt();

      coordinateList.add(new Coordinate(t, x, y));
    } ;
    boolean continueFlag = true;
//    //N=1
//    int diffT =Math.abs( coordinateList.get(0).getT());
//    int diffX =Math.abs( coordinateList.get(0).getX());
//    int diffY =Math.abs( coordinateList.get(0).getY());
//    if(diffT >= diffX + diffY && (diffT - diffX - diffY ) % 2 == 0){
//      continueFlag = true;
//    }else {
//      continueFlag = false;
//    }

    //N>1
    for(int i = 0 ; i < N ; i++){
      int diffT =Math.abs( coordinateList.get(i).getT() - coordinateList.get(i+1).getT());
      int diffX =Math.abs( coordinateList.get(i).getX() - coordinateList.get(i+1).getX());
      int diffY =Math.abs( coordinateList.get(i).getY() - coordinateList.get(i+1).getY());
      if(diffT >= diffX + diffY && (diffT - diffX - diffY ) % 2 == 0){
        continueFlag = true;
      }else {
        continueFlag = false;
        break;
      }
    }
    if(continueFlag){
      System.out.println("Yes");
    }else{
      System.out.println("No");
    }

  };
}


class Coordinate {
  int t, x, y;

  Coordinate(int t, int x, int y) {
    this.t = t;
    this.x = x;
    this.y = y;
  }

  int getX() {
    return this.x;
  };

  int getT() {
    return this.t;
  };

  int getY() {
    return this.y;
  };
} import java.util.ArrayList; ArrayList java.util import java.util.List; List java.util import java.util.Scanner; Scanner java.util public class Main {
  public static void main(String[] args) {


    Scanner sc = new Scanner(System.in);
    // get a integer

    int N = sc.nextInt();
    // System.out.println(" integer is " + N);

    List<Coordinate> coordinateList = new ArrayList<>();
    coordinateList.add(new Coordinate(0, 0, 0));
    for (int i = 0; i < N; i++) {
      int t = sc.nextInt();
      int x = sc.nextInt();
      int y = sc.nextInt();

      coordinateList.add(new Coordinate(t, x, y));
    } ;
    boolean continueFlag = true;
//    //N=1
//    int diffT =Math.abs( coordinateList.get(0).getT());
//    int diffX =Math.abs( coordinateList.get(0).getX());
//    int diffY =Math.abs( coordinateList.get(0).getY());
//    if(diffT >= diffX + diffY && (diffT - diffX - diffY ) % 2 == 0){
//      continueFlag = true;
//    }else {
//      continueFlag = false;
//    }

    //N>1
    for(int i = 0 ; i < N ; i++){
      int diffT =Math.abs( coordinateList.get(i).getT() - coordinateList.get(i+1).getT());
      int diffX =Math.abs( coordinateList.get(i).getX() - coordinateList.get(i+1).getX());
      int diffY =Math.abs( coordinateList.get(i).getY() - coordinateList.get(i+1).getY());
      if(diffT >= diffX + diffY && (diffT - diffX - diffY ) % 2 == 0){
        continueFlag = true;
      }else {
        continueFlag = false;
        break;
      }
    }
    if(continueFlag){
      System.out.println("Yes");
    }else{
      System.out.println("No");
    }

  };
} Main public static void main(String[] args) {


    Scanner sc = new Scanner(System.in);
    // get a integer

    int N = sc.nextInt();
    // System.out.println(" integer is " + N);

    List<Coordinate> coordinateList = new ArrayList<>();
    coordinateList.add(new Coordinate(0, 0, 0));
    for (int i = 0; i < N; i++) {
      int t = sc.nextInt();
      int x = sc.nextInt();
      int y = sc.nextInt();

      coordinateList.add(new Coordinate(t, x, y));
    } ;
    boolean continueFlag = true;
//    //N=1
//    int diffT =Math.abs( coordinateList.get(0).getT());
//    int diffX =Math.abs( coordinateList.get(0).getX());
//    int diffY =Math.abs( coordinateList.get(0).getY());
//    if(diffT >= diffX + diffY && (diffT - diffX - diffY ) % 2 == 0){
//      continueFlag = true;
//    }else {
//      continueFlag = false;
//    }

    //N>1
    for(int i = 0 ; i < N ; i++){
      int diffT =Math.abs( coordinateList.get(i).getT() - coordinateList.get(i+1).getT());
      int diffX =Math.abs( coordinateList.get(i).getX() - coordinateList.get(i+1).getX());
      int diffY =Math.abs( coordinateList.get(i).getY() - coordinateList.get(i+1).getY());
      if(diffT >= diffX + diffY && (diffT - diffX - diffY ) % 2 == 0){
        continueFlag = true;
      }else {
        continueFlag = false;
        break;
      }
    }
    if(continueFlag){
      System.out.println("Yes");
    }else{
      System.out.println("No");
    }

  } main {


    Scanner sc = new Scanner(System.in);
    // get a integer

    int N = sc.nextInt();
    // System.out.println(" integer is " + N);

    List<Coordinate> coordinateList = new ArrayList<>();
    coordinateList.add(new Coordinate(0, 0, 0));
    for (int i = 0; i < N; i++) {
      int t = sc.nextInt();
      int x = sc.nextInt();
      int y = sc.nextInt();

      coordinateList.add(new Coordinate(t, x, y));
    } ;
    boolean continueFlag = true;
//    //N=1
//    int diffT =Math.abs( coordinateList.get(0).getT());
//    int diffX =Math.abs( coordinateList.get(0).getX());
//    int diffY =Math.abs( coordinateList.get(0).getY());
//    if(diffT >= diffX + diffY && (diffT - diffX - diffY ) % 2 == 0){
//      continueFlag = true;
//    }else {
//      continueFlag = false;
//    }

    //N>1
    for(int i = 0 ; i < N ; i++){
      int diffT =Math.abs( coordinateList.get(i).getT() - coordinateList.get(i+1).getT());
      int diffX =Math.abs( coordinateList.get(i).getX() - coordinateList.get(i+1).getX());
      int diffY =Math.abs( coordinateList.get(i).getY() - coordinateList.get(i+1).getY());
      if(diffT >= diffX + diffY && (diffT - diffX - diffY ) % 2 == 0){
        continueFlag = true;
      }else {
        continueFlag = false;
        break;
      }
    }
    if(continueFlag){
      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<Coordinate> coordinateList = new ArrayList<>(); coordinateList new ArrayList<>() coordinateList.add(new Coordinate(0, 0, 0)) coordinateList.add coordinateList new Coordinate(0, 0, 0) for (int i = 0; i < N; i++) {
      int t = sc.nextInt();
      int x = sc.nextInt();
      int y = sc.nextInt();

      coordinateList.add(new Coordinate(t, x, y));
    } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
      int t = sc.nextInt();
      int x = sc.nextInt();
      int y = sc.nextInt();

      coordinateList.add(new Coordinate(t, x, y));
    } {
      int t = sc.nextInt();
      int x = sc.nextInt();
      int y = sc.nextInt();

      coordinateList.add(new Coordinate(t, x, y));
    } int t = sc.nextInt(); t 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 coordinateList.add(new Coordinate(t, x, y)) coordinateList.add coordinateList new Coordinate(t, x, y) boolean continueFlag = true; continueFlag true for(int i = 0 ; i < N ; i++){
      int diffT =Math.abs( coordinateList.get(i).getT() - coordinateList.get(i+1).getT());
      int diffX =Math.abs( coordinateList.get(i).getX() - coordinateList.get(i+1).getX());
      int diffY =Math.abs( coordinateList.get(i).getY() - coordinateList.get(i+1).getY());
      if(diffT >= diffX + diffY && (diffT - diffX - diffY ) % 2 == 0){
        continueFlag = true;
      }else {
        continueFlag = false;
        break;
      }
    } int i = 0 ; int i = 0 ; i 0 i < N i N i++ i++ i {
      int diffT =Math.abs( coordinateList.get(i).getT() - coordinateList.get(i+1).getT());
      int diffX =Math.abs( coordinateList.get(i).getX() - coordinateList.get(i+1).getX());
      int diffY =Math.abs( coordinateList.get(i).getY() - coordinateList.get(i+1).getY());
      if(diffT >= diffX + diffY && (diffT - diffX - diffY ) % 2 == 0){
        continueFlag = true;
      }else {
        continueFlag = false;
        break;
      }
    } {
      int diffT =Math.abs( coordinateList.get(i).getT() - coordinateList.get(i+1).getT());
      int diffX =Math.abs( coordinateList.get(i).getX() - coordinateList.get(i+1).getX());
      int diffY =Math.abs( coordinateList.get(i).getY() - coordinateList.get(i+1).getY());
      if(diffT >= diffX + diffY && (diffT - diffX - diffY ) % 2 == 0){
        continueFlag = true;
      }else {
        continueFlag = false;
        break;
      }
    } int diffT =Math.abs( coordinateList.get(i).getT() - coordinateList.get(i+1).getT()); diffT Math.abs( coordinateList.get(i).getT() - coordinateList.get(i+1).getT()) Math.abs Math coordinateList.get(i).getT() - coordinateList.get(i+1).getT() coordinateList.get(i).getT() coordinateList.get(i).getT coordinateList.get(i) coordinateList.get coordinateList i coordinateList.get(i+1).getT() coordinateList.get(i+1).getT coordinateList.get(i+1) coordinateList.get coordinateList i+1 i 1 int diffX =Math.abs( coordinateList.get(i).getX() - coordinateList.get(i+1).getX()); diffX Math.abs( coordinateList.get(i).getX() - coordinateList.get(i+1).getX()) Math.abs Math coordinateList.get(i).getX() - coordinateList.get(i+1).getX() coordinateList.get(i).getX() coordinateList.get(i).getX coordinateList.get(i) coordinateList.get coordinateList i coordinateList.get(i+1).getX() coordinateList.get(i+1).getX coordinateList.get(i+1) coordinateList.get coordinateList i+1 i 1 int diffY =Math.abs( coordinateList.get(i).getY() - coordinateList.get(i+1).getY()); diffY Math.abs( coordinateList.get(i).getY() - coordinateList.get(i+1).getY()) Math.abs Math coordinateList.get(i).getY() - coordinateList.get(i+1).getY() coordinateList.get(i).getY() coordinateList.get(i).getY coordinateList.get(i) coordinateList.get coordinateList i coordinateList.get(i+1).getY() coordinateList.get(i+1).getY coordinateList.get(i+1) coordinateList.get coordinateList i+1 i 1 if(diffT >= diffX + diffY && (diffT - diffX - diffY ) % 2 == 0){
        continueFlag = true;
      }else {
        continueFlag = false;
        break;
      } diffT >= diffX + diffY && (diffT - diffX - diffY ) % 2 == 0 diffT >= diffX + diffY diffT diffX + diffY diffX diffY (diffT - diffX - diffY ) % 2 == 0 (diffT - diffX - diffY ) % 2 (diffT - diffX - diffY ) diffT - diffX - diffY diffT diffX diffY 2 0 {
        continueFlag = true;
      } continueFlag = true continueFlag true {
        continueFlag = false;
        break;
      } continueFlag = false continueFlag false break; if(continueFlag){
      System.out.println("Yes");
    }else{
      System.out.println("No");
    } continueFlag {
      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 class Coordinate {
  int t, x, y;

  Coordinate(int t, int x, int y) {
    this.t = t;
    this.x = x;
    this.y = y;
  }

  int getX() {
    return this.x;
  };

  int getT() {
    return this.t;
  };

  int getY() {
    return this.y;
  };
} Coordinate int t t x x y; y Coordinate(int t, int x, int y) {
    this.t = t;
    this.x = x;
    this.y = y;
  } Coordinate {
    this.t = t;
    this.x = x;
    this.y = y;
  } this.t = t this.t this this.t t this.x = x this.x this this.x x this.y = y this.y this this.y y int t t int x x int y y int getX() {
    return this.x;
  } getX {
    return this.x;
  } return this.x; this.x this this.x int getT() {
    return this.t;
  } getT {
    return this.t;
  } return this.t; this.t this this.t int getY() {
    return this.y;
  } getY {
    return this.y;
  } return this.y; this.y this this.y public class Main {
  public static void main(String[] args) {


    Scanner sc = new Scanner(System.in);
    // get a integer

    int N = sc.nextInt();
    // System.out.println(" integer is " + N);

    List<Coordinate> coordinateList = new ArrayList<>();
    coordinateList.add(new Coordinate(0, 0, 0));
    for (int i = 0; i < N; i++) {
      int t = sc.nextInt();
      int x = sc.nextInt();
      int y = sc.nextInt();

      coordinateList.add(new Coordinate(t, x, y));
    } ;
    boolean continueFlag = true;
//    //N=1
//    int diffT =Math.abs( coordinateList.get(0).getT());
//    int diffX =Math.abs( coordinateList.get(0).getX());
//    int diffY =Math.abs( coordinateList.get(0).getY());
//    if(diffT >= diffX + diffY && (diffT - diffX - diffY ) % 2 == 0){
//      continueFlag = true;
//    }else {
//      continueFlag = false;
//    }

    //N>1
    for(int i = 0 ; i < N ; i++){
      int diffT =Math.abs( coordinateList.get(i).getT() - coordinateList.get(i+1).getT());
      int diffX =Math.abs( coordinateList.get(i).getX() - coordinateList.get(i+1).getX());
      int diffY =Math.abs( coordinateList.get(i).getY() - coordinateList.get(i+1).getY());
      if(diffT >= diffX + diffY && (diffT - diffX - diffY ) % 2 == 0){
        continueFlag = true;
      }else {
        continueFlag = false;
        break;
      }
    }
    if(continueFlag){
      System.out.println("Yes");
    }else{
      System.out.println("No");
    }

  };
} public class Main {
  public static void main(String[] args) {


    Scanner sc = new Scanner(System.in);
    // get a integer

    int N = sc.nextInt();
    // System.out.println(" integer is " + N);

    List<Coordinate> coordinateList = new ArrayList<>();
    coordinateList.add(new Coordinate(0, 0, 0));
    for (int i = 0; i < N; i++) {
      int t = sc.nextInt();
      int x = sc.nextInt();
      int y = sc.nextInt();

      coordinateList.add(new Coordinate(t, x, y));
    } ;
    boolean continueFlag = true;
//    //N=1
//    int diffT =Math.abs( coordinateList.get(0).getT());
//    int diffX =Math.abs( coordinateList.get(0).getX());
//    int diffY =Math.abs( coordinateList.get(0).getY());
//    if(diffT >= diffX + diffY && (diffT - diffX - diffY ) % 2 == 0){
//      continueFlag = true;
//    }else {
//      continueFlag = false;
//    }

    //N>1
    for(int i = 0 ; i < N ; i++){
      int diffT =Math.abs( coordinateList.get(i).getT() - coordinateList.get(i+1).getT());
      int diffX =Math.abs( coordinateList.get(i).getX() - coordinateList.get(i+1).getX());
      int diffY =Math.abs( coordinateList.get(i).getY() - coordinateList.get(i+1).getY());
      if(diffT >= diffX + diffY && (diffT - diffX - diffY ) % 2 == 0){
        continueFlag = true;
      }else {
        continueFlag = false;
        break;
      }
    }
    if(continueFlag){
      System.out.println("Yes");
    }else{
      System.out.println("No");
    }

  };
} Main

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * https://qiita.com/drken/items/fd4e5e3630d0f5859067
 *
 * @author YukihiroLocal
 *
 */
public class Main {
  public static void main(String[] args) {


    Scanner sc = new Scanner(System.in);
    // get a integer

    int N = sc.nextInt();
    // System.out.println(" integer is " + N);

    List<Coordinate> coordinateList = new ArrayList<>();
    coordinateList.add(new Coordinate(0, 0, 0));
    for (int i = 0; i < N; i++) {
      int t = sc.nextInt();
      int x = sc.nextInt();
      int y = sc.nextInt();

      coordinateList.add(new Coordinate(t, x, y));
    } ;
    boolean continueFlag = true;
//    //N=1
//    int diffT =Math.abs( coordinateList.get(0).getT());
//    int diffX =Math.abs( coordinateList.get(0).getX());
//    int diffY =Math.abs( coordinateList.get(0).getY());
//    if(diffT >= diffX + diffY && (diffT - diffX - diffY ) % 2 == 0){
//      continueFlag = true;
//    }else {
//      continueFlag = false;
//    }

    //N>1
    for(int i = 0 ; i < N ; i++){
      int diffT =Math.abs( coordinateList.get(i).getT() - coordinateList.get(i+1).getT());
      int diffX =Math.abs( coordinateList.get(i).getX() - coordinateList.get(i+1).getX());
      int diffY =Math.abs( coordinateList.get(i).getY() - coordinateList.get(i+1).getY());
      if(diffT >= diffX + diffY && (diffT - diffX - diffY ) % 2 == 0){
        continueFlag = true;
      }else {
        continueFlag = false;
        break;
      }
    }
    if(continueFlag){
      System.out.println("Yes");
    }else{
      System.out.println("No");
    }

  };
}


class Coordinate {
  int t, x, y;

  Coordinate(int t, int x, int y) {
    this.t = t;
    this.x = x;
    this.y = y;
  }

  int getX() {
    return this.x;
  };

  int getT() {
    return this.t;
  };

  int getY() {
    return this.y;
  };
}
