fun main(args: Array<String>) = yorukatsu6B()

fun yorukatsu6B() {
    val n = readLine()!!.toInt()
    val txyList = (1..n).map { readLine()!!.split(' ').map { it.toInt() } }
        .map { Txy(it[0], it[1], it[2]) }

    var beforeTime = 0
    var beforeX = 0
    var beforeY = 0

    for ((t, x, y) in txyList) {
        val moveDist = Math.abs(beforeX - x) + Math.abs(beforeY - y)
        val timeDiff = t - beforeTime
        if (moveDist in 1..timeDiff && (timeDiff - moveDist) % 2 == 0) {
            beforeTime = t
            beforeX = x
            beforeY = y
        } else return println("No")

    }

    println("Yes")
}

private data class Txy(val t: Int, val x: Int, val y: Int)
