object Main extends App {
  def isReachable(from: (Int, Int, Int), to: (Int, Int, Int)): Boolean = {
    val ((t1, x1, y1), (t2, x2, y2)) = (from, to)
    val (t, x, y) = (t2 - t1, math.abs(x1 - x2), math.abs(y1 - y2))
    x + y <= t && (t - x) % 2 == y % 2
  }

  val sc = new java.util.Scanner(System.in)
  val N = sc.nextInt()
  val (isReachableAll, _) =
    1.to(N).foldLeft(true -> (0: Int, 0: Int, 0: Int)) {
      case ((acc, from), _) =>
        val to = (sc.nextInt(), sc.nextInt, sc.nextInt)
        (acc && isReachable(from, to)) -> to
    }
  println(if (isReachableAll) "Yes" else "No")
}
