"use strict";

function main(input) {
  input = input
    .split(/\n/)
    .slice(1, -1)
    .map(v => v.split(/\s/).map(v => ~~v)); //

  let ans = "Yes"; // 'Yes' or 'No'
  let distance = 0; // distance
  let time = 0; // time
  let nextPosi = { x: 0, y: 0 };
  let nextTime = 0;
  let tmpPosi = { x: 0, y: 0 };
  let tmpTime = 0;

  for (let i = 0; i < input.length; i++) {
    nextPosi.x = input[i][1];
    nextPosi.y = input[i][2];

    distance = nextPosi.x - tmpPosi.x + nextPosi.y - tmpPosi.y;

    nextTime = input[i][0];
    time = nextTime - tmpTime;
    if (distance > time) {
      // || time % 2 != distance % 2

      ans = "No";
      break;
    }

    tmpTime = nextTime;
    tmpPosi.x = nextPosi.x;
    tmpPosi.y = nextPosi.y;
  }

  console.log(ans);
}

main(require("fs").readFileSync("/dev/stdin", "utf8"));
