(defn traveling [n t x y]
  (loop [cnt  0
         dt   (- (nth t (inc cnt)) (nth t cnt))
         dist (+ (Math/abs (- (nth x (inc cnt)) (nth x cnt)))
                 (Math/abs (- (nth y (inc cnt)) (nth y cnt))))
         can  (if (or (< dt dist) (not (= (rem dist 2) (rem dt 2)))) 0 1)]
    (if (= cnt n)
        (recur (inc cnt)
               (- (nth t (inc (inc cnt))) (nth t (inc cnt)))
               (+ (Math/abs (- (nth x (inc (inc cnt))) (nth x (inc cnt))))
                  (Math/abs (- (nth y (inc (inc cnt))) (nth y (inc cnt)))))
               (if (or (< dt dist) (not (= (rem dist 2) (rem dt 2)))) 0 1))
        (if (= can 1) "Yes" "No"))))

(defn create-data [n]
  (loop [cnt 0 t () x () y ()]
    (if (= cnt n)
        (list (reverse (cons 0 t))
              (reverse (cons 0 x))
              (reverse (cons 0 y)))
        (recur (inc cnt)
               (cons (read) t)
               (cons (read) x)
               (cons (read) y)))))

(def n (read))
(def data (create-data n))

(println (traveling n (nth data 0) (nth data 1) (nth data 2)))