module Main where

import Control.Applicative
import Control.Monad
import Data.List

check :: (Int, Int, Int) -> (Int, Int, Int) -> Bool
check (t1, x1, y1) (t2, x2, y2)
    | t >= d && oddEven t d = True
    | otherwise             = False
  where
    t = t2 - t1
    d = abs (x2 - x1) + abs (y2 - y1)
    oddEven s t
        | all odd [s, t] || all even [s, t] = True
        | otherwise                         = False

main :: IO ()
main = do
    n <- readLn
    ts <- replicateM n $ do
        [t, x, y] <- fmap read . words <$> getLine :: IO [Int]
        return (t, x, y)
    let ts' = (0, 0, 0) : ts
    if and $ zipWith check ts' (tail ts')
        then putStrLn "Yes"
        else putStrLn "No"