fun main(args: Array<String>) {
    abc086c()
}

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

fun abc086c() {
    val n = readLine()!!.toInt()
    val txy = listOf(Txy(0, 0, 0)) + (1..n).map { readLine()!!.split(" ").map { it.toInt() } }
        .map { Txy(it[0], it[1], it[2]) }

    val answer = (0 until n).all { i ->
        val curr = txy[i]
        val next = txy[i + 1]

        val move = Math.abs(next.x - curr.x) + Math.abs(next.y - curr.y)
        val moveCap = Math.abs(next.time - curr.time)
        val remainMove = moveCap - move
        remainMove >= 0 && remainMove % 2 == 0
    }.let { if (it) "Yes" else "No" }

    println(answer)
}
