import java.util.*;
class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int n = Integer.parseInt(sc.next());
    int x,y,t,lastx,lasty,lastt,dist;
    lastt = 0; lastx = 0; lasty = 0;
    for (int i = 0; i < n; i++){
      t = Integer.parseInt(sc.next());
      x = Integer.parseInt(sc.next());
      y = Integer.parseInt(sc.next());
      dist = Math.abs(x-lastx) + Math.abs(y-lasty);
      if (!(dist <= (t-lastt) && (t-lastt-dist)%2 == 0)){
        System.out.println("No");
        return;
      }
      lastx = x; lasty = y; lastt = t;
    }
    System.out.println("Yes");
  }
} import java.util.*; util.* java class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int n = Integer.parseInt(sc.next());
    int x,y,t,lastx,lasty,lastt,dist;
    lastt = 0; lastx = 0; lasty = 0;
    for (int i = 0; i < n; i++){
      t = Integer.parseInt(sc.next());
      x = Integer.parseInt(sc.next());
      y = Integer.parseInt(sc.next());
      dist = Math.abs(x-lastx) + Math.abs(y-lasty);
      if (!(dist <= (t-lastt) && (t-lastt-dist)%2 == 0)){
        System.out.println("No");
        return;
      }
      lastx = x; lasty = y; lastt = t;
    }
    System.out.println("Yes");
  }
} Main public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int n = Integer.parseInt(sc.next());
    int x,y,t,lastx,lasty,lastt,dist;
    lastt = 0; lastx = 0; lasty = 0;
    for (int i = 0; i < n; i++){
      t = Integer.parseInt(sc.next());
      x = Integer.parseInt(sc.next());
      y = Integer.parseInt(sc.next());
      dist = Math.abs(x-lastx) + Math.abs(y-lasty);
      if (!(dist <= (t-lastt) && (t-lastt-dist)%2 == 0)){
        System.out.println("No");
        return;
      }
      lastx = x; lasty = y; lastt = t;
    }
    System.out.println("Yes");
  } main {
    Scanner sc = new Scanner(System.in);
    int n = Integer.parseInt(sc.next());
    int x,y,t,lastx,lasty,lastt,dist;
    lastt = 0; lastx = 0; lasty = 0;
    for (int i = 0; i < n; i++){
      t = Integer.parseInt(sc.next());
      x = Integer.parseInt(sc.next());
      y = Integer.parseInt(sc.next());
      dist = Math.abs(x-lastx) + Math.abs(y-lasty);
      if (!(dist <= (t-lastt) && (t-lastt-dist)%2 == 0)){
        System.out.println("No");
        return;
      }
      lastx = x; lasty = y; lastt = t;
    }
    System.out.println("Yes");
  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = Integer.parseInt(sc.next()); n Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc int x x y y t t lastx lastx lasty lasty lastt lastt dist; dist lastt = 0 lastt 0 lastx = 0 lastx 0 lasty = 0 lasty 0 for (int i = 0; i < n; i++){
      t = Integer.parseInt(sc.next());
      x = Integer.parseInt(sc.next());
      y = Integer.parseInt(sc.next());
      dist = Math.abs(x-lastx) + Math.abs(y-lasty);
      if (!(dist <= (t-lastt) && (t-lastt-dist)%2 == 0)){
        System.out.println("No");
        return;
      }
      lastx = x; lasty = y; lastt = t;
    } int i = 0; int i = 0; i 0 i < n i n i++ i++ i {
      t = Integer.parseInt(sc.next());
      x = Integer.parseInt(sc.next());
      y = Integer.parseInt(sc.next());
      dist = Math.abs(x-lastx) + Math.abs(y-lasty);
      if (!(dist <= (t-lastt) && (t-lastt-dist)%2 == 0)){
        System.out.println("No");
        return;
      }
      lastx = x; lasty = y; lastt = t;
    } {
      t = Integer.parseInt(sc.next());
      x = Integer.parseInt(sc.next());
      y = Integer.parseInt(sc.next());
      dist = Math.abs(x-lastx) + Math.abs(y-lasty);
      if (!(dist <= (t-lastt) && (t-lastt-dist)%2 == 0)){
        System.out.println("No");
        return;
      }
      lastx = x; lasty = y; lastt = t;
    } t = Integer.parseInt(sc.next()) t Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc x = Integer.parseInt(sc.next()) x Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc y = Integer.parseInt(sc.next()) y Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc dist = Math.abs(x-lastx) + Math.abs(y-lasty) dist Math.abs(x-lastx) + Math.abs(y-lasty) Math.abs(x-lastx) Math.abs Math x-lastx x lastx Math.abs(y-lasty) Math.abs Math y-lasty y lasty if (!(dist <= (t-lastt) && (t-lastt-dist)%2 == 0)){
        System.out.println("No");
        return;
      } !(dist <= (t-lastt) && (t-lastt-dist)%2 == 0) (dist <= (t-lastt) && (t-lastt-dist)%2 == 0) dist <= (t-lastt) dist (t-lastt) t lastt (t-lastt-dist)%2 == 0 (t-lastt-dist)%2 (t-lastt-dist) t-lastt-dist t lastt dist 2 0 {
        System.out.println("No");
        return;
      } System.out.println("No") System.out.println System.out System System.out "No" return; lastx = x lastx x lasty = y lasty y lastt = t lastt t System.out.println("Yes") System.out.println System.out System System.out "Yes" String[] args args
import java.util.*;
class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    int n = Integer.parseInt(sc.next());
    int x,y,t,lastx,lasty,lastt,dist;
    lastt = 0; lastx = 0; lasty = 0;
    for (int i = 0; i < n; i++){
      t = Integer.parseInt(sc.next());
      x = Integer.parseInt(sc.next());
      y = Integer.parseInt(sc.next());
      dist = Math.abs(x-lastx) + Math.abs(y-lasty);
      if (!(dist <= (t-lastt) && (t-lastt-dist)%2 == 0)){
        System.out.println("No");
        return;
      }
      lastx = x; lasty = y; lastt = t;
    }
    System.out.println("Yes");
  }
}