import java.util.*;

class Main{
  public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    int n=sc.nextInt();
    int t0=0;
    int x0=0;
    int y0=0;
    for(int i=0;i<n;i++){
      int t=sc.nextInt();
      int x=sc.nextInt();
      int y=sc.nextInt();
//      System.out.println(t+"-"+t0+" "+x+"-"+x0+" "+y+"-"+y0);
      if(t-t0<mh(x0,y0,x,y)||(mh(x0,y0,x,y)+t-t0)%2==1){
        System.out.println("No");
        return;
      }
      t0=t;
      x0=x;
      y0=y;
    }
    System.out.println("Yes");
  }
  static int mh(int x1,int y1,int x2,int y2){
    return Math.abs(x1-x2)+Math.abs(y1-y2);
  }
} import java.util.*; util.* java class Main{
  public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    int n=sc.nextInt();
    int t0=0;
    int x0=0;
    int y0=0;
    for(int i=0;i<n;i++){
      int t=sc.nextInt();
      int x=sc.nextInt();
      int y=sc.nextInt();
//      System.out.println(t+"-"+t0+" "+x+"-"+x0+" "+y+"-"+y0);
      if(t-t0<mh(x0,y0,x,y)||(mh(x0,y0,x,y)+t-t0)%2==1){
        System.out.println("No");
        return;
      }
      t0=t;
      x0=x;
      y0=y;
    }
    System.out.println("Yes");
  }
  static int mh(int x1,int y1,int x2,int y2){
    return Math.abs(x1-x2)+Math.abs(y1-y2);
  }
} Main public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    int n=sc.nextInt();
    int t0=0;
    int x0=0;
    int y0=0;
    for(int i=0;i<n;i++){
      int t=sc.nextInt();
      int x=sc.nextInt();
      int y=sc.nextInt();
//      System.out.println(t+"-"+t0+" "+x+"-"+x0+" "+y+"-"+y0);
      if(t-t0<mh(x0,y0,x,y)||(mh(x0,y0,x,y)+t-t0)%2==1){
        System.out.println("No");
        return;
      }
      t0=t;
      x0=x;
      y0=y;
    }
    System.out.println("Yes");
  } main {
    Scanner sc=new Scanner(System.in);
    int n=sc.nextInt();
    int t0=0;
    int x0=0;
    int y0=0;
    for(int i=0;i<n;i++){
      int t=sc.nextInt();
      int x=sc.nextInt();
      int y=sc.nextInt();
//      System.out.println(t+"-"+t0+" "+x+"-"+x0+" "+y+"-"+y0);
      if(t-t0<mh(x0,y0,x,y)||(mh(x0,y0,x,y)+t-t0)%2==1){
        System.out.println("No");
        return;
      }
      t0=t;
      x0=x;
      y0=y;
    }
    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 t0=0; t0 0 int x0=0; x0 0 int y0=0; y0 0 for(int i=0;i<n;i++){
      int t=sc.nextInt();
      int x=sc.nextInt();
      int y=sc.nextInt();
//      System.out.println(t+"-"+t0+" "+x+"-"+x0+" "+y+"-"+y0);
      if(t-t0<mh(x0,y0,x,y)||(mh(x0,y0,x,y)+t-t0)%2==1){
        System.out.println("No");
        return;
      }
      t0=t;
      x0=x;
      y0=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();
//      System.out.println(t+"-"+t0+" "+x+"-"+x0+" "+y+"-"+y0);
      if(t-t0<mh(x0,y0,x,y)||(mh(x0,y0,x,y)+t-t0)%2==1){
        System.out.println("No");
        return;
      }
      t0=t;
      x0=x;
      y0=y;
    } {
      int t=sc.nextInt();
      int x=sc.nextInt();
      int y=sc.nextInt();
//      System.out.println(t+"-"+t0+" "+x+"-"+x0+" "+y+"-"+y0);
      if(t-t0<mh(x0,y0,x,y)||(mh(x0,y0,x,y)+t-t0)%2==1){
        System.out.println("No");
        return;
      }
      t0=t;
      x0=x;
      y0=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 if(t-t0<mh(x0,y0,x,y)||(mh(x0,y0,x,y)+t-t0)%2==1){
        System.out.println("No");
        return;
      } t-t0<mh(x0,y0,x,y)||(mh(x0,y0,x,y)+t-t0)%2==1 t-t0<mh(x0,y0,x,y) t-t0 t t0 mh(x0,y0,x,y) mh x0 y0 x y (mh(x0,y0,x,y)+t-t0)%2==1 (mh(x0,y0,x,y)+t-t0)%2 (mh(x0,y0,x,y)+t-t0) mh(x0,y0,x,y)+t mh(x0,y0,x,y) mh x0 y0 x y t t0 2 1 {
        System.out.println("No");
        return;
      } System.out.println("No") System.out.println System.out System System.out "No" return; t0=t t0 t x0=x x0 x y0=y y0 y System.out.println("Yes") System.out.println System.out System System.out "Yes" String[] args args static int mh(int x1,int y1,int x2,int y2){
    return Math.abs(x1-x2)+Math.abs(y1-y2);
  } mh {
    return Math.abs(x1-x2)+Math.abs(y1-y2);
  } return Math.abs(x1-x2)+Math.abs(y1-y2); Math.abs(x1-x2)+Math.abs(y1-y2) Math.abs(x1-x2) Math.abs Math x1-x2 x1 x2 Math.abs(y1-y2) Math.abs Math y1-y2 y1 y2 int x1 x1 int y1 y1 int x2 x2 int y2 y2
import java.util.*;

class Main{
  public static void main(String[] args){
    Scanner sc=new Scanner(System.in);
    int n=sc.nextInt();
    int t0=0;
    int x0=0;
    int y0=0;
    for(int i=0;i<n;i++){
      int t=sc.nextInt();
      int x=sc.nextInt();
      int y=sc.nextInt();
//      System.out.println(t+"-"+t0+" "+x+"-"+x0+" "+y+"-"+y0);
      if(t-t0<mh(x0,y0,x,y)||(mh(x0,y0,x,y)+t-t0)%2==1){
        System.out.println("No");
        return;
      }
      t0=t;
      x0=x;
      y0=y;
    }
    System.out.println("Yes");
  }
  static int mh(int x1,int y1,int x2,int y2){
    return Math.abs(x1-x2)+Math.abs(y1-y2);
  }
}