'use strict'


function Main(input) {
  const array = input.trim().split('\n')
  const rest = array.slice(1).map(s => s.split(' ').map(s => parseInt(s)))
  const N = parseInt(array[0])

  var xList = [0]
  var yList = [0]
  var tList = [0]

  for(var i = 0; i < N; ++i) {
    tList.push(rest[i][0])
    xList.push(rest[i][1])
    yList.push(rest[i][2])
  }

  
  var flg = true
  for(var j = 0; j < N; ++j) {
    var x = Math.abs(xList[j + 1] - xList[j])
    var y = Math.abs(yList[j + 1] - yList[j])
    var t = tList[j + 1] - tList[j]

    // 一秒で1マスしか進めないので、x+y がtより大きい時はNG
    if (t < x + y || (t % 2 !== (x + y) % 2)) {
      flg = false
      break
    }
  }

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

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