"use strict"

function Main(input) {
  const args = input.split('\n'); // args = ["2", "3 1 2", "6 1 1"]
  const N = parseInt(args[0], 10); // N = 2

  const points = [[0, 0, 0]];
  args.slice(1, N + 1).forEach(element => {
    let number = element.split(' ');
    points.push([parseInt(number[0], 10), parseInt(number[1], 10), parseInt(number[2], 10)]);
  });

  let check = true;

  for (var i = 0; i < N; i++) {
    let dist = points[i + 1];
    let cur = points[i];

    let t = dist[0] - cur[0];
    let x = Math.abs(dist[1] - cur[1]);
    let y = Math.abs(dist[2] - cur[2]);

    if (!(t >= (x + y) && ((t % 2) === ((x + y) % 2)))) {
      check = false;
      break;
    }
  }

  if (check) {
    console.log('Yes');
  } else {
    console.log('No');
  }
}

//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));