import Control.Monad (replicateM)

reachable :: [[Int]] -> Bool
reachable (p0:p1:[]) = reach p0 p1
reachable (p0:p1:ps) = reach p0 p1 && reachable (p1:ps)

reach :: [Int] -> [Int] -> Bool
reach [t0,x0,y0] [t1,x1,y1] = accessible && sameParity
  where
    tick = t1 - t0
    shortest = abs (x1 - x0) + abs (y1 - y0)
    accessible = shortest <= tick
    sameParity = (shortest + tick) `mod` 2 == 0

main :: IO ()
main = do
  n <- readLn
  ps <- replicateM n (map read . words <$> getLine)
  putStrLn $ if reachable ([0,0,0]:ps) then "Yes" else "No"
