function main(input) {
  const args = input.split('\n');
  var int = [];
  for(let i=0;i<args.length;i++){
    int.push(args[i].split(' '));
  }
  var times = parseInt(int[0][0]);
  var points = [];
  for(let j=1;j<=times;j++){
    var point = [parseInt(int[j][0]),parseInt(int[j][1]),parseInt(int[j][2])];
    points.push(point);
  }
  points.unshift([0,0,0])
  for(let k=0;k<times;k++){
    var judge_time = points[k+1][0]-points[k][0];
    var judge_point = (points[k+1][1]-points[k][1])+(points[k+1][2]-points[k][2]);
    if(Math.abs(judge_point)<= judge_time && (judge_time-judge_point)%2 === 0){
      var result = 'Yes';
    }else{
      var result = 'No';
      break;
    }
  }
  console.log(result);
}

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