import Control.Monad
import Control.Applicative
import Data.List
import Data.Array
strToInt s = (read :: String -> Int) s

main = do
   n <- readLn :: IO Int
   txy <- replicateM n (map read . words <$> getLine)

   putStrLn $ solve [0,0,0] txy

asolve :: [Int] -> [Int] -> Bool
asolve [] _ = True
asolve _ [] = True
asolve [t1,x1,y1] [t2,x2,y2] = if t < d
                               then False
                               else if even (t-d) == True
                                    then True
                                    else False
     where t = abs (t2-t1)
           d = (abs (x2-x1)) + (abs (y2-y1))
           
solve :: [Int] -> [[Int]] -> String
solve t0 [] = "Yes"
solve t0 (t:ts) = if asolve t0 t == True
                  then solve t ts
                  else "No"