{-# LANGUAGE OverloadedStrings #-}
import Data.ByteString.Char8 as B
import Data.Bool
import Data.Maybe

main :: IO ()
main = B.interact $ solve . readQuery . B.tail . B map (fst . fromJust . B.readInt) . B.words

readQuery :: [Int] -> [(Int, Int, Int)]
readQuery [] = []
readQuery (t:x:y:as) = (t, x, y) : readQuery as

solve :: [(Int, Int, Int)] -> B.ByteString
solve qs = bool "No" "Yes" $ all p $ zipWith op qs ((0,0,0):qs)
  where
    op (t, x, y) (u, z, w) = t - u - (abs (x - z)) - (abs (y - w))
    p n = n >= 0 && even n



