import Control.Monad

data Travel = Travel {
    time  :: Int,
    x :: Int,
    y :: Int
    } deriving (Show, Eq)

main :: IO ()
main = do
    n <- read <$> getLine :: IO Int
    travel <- forM [1..n] ( \_ -> do
            [t, x, y] <- map read . words <$> getLine :: IO [Int]
            return $ Travel t x y
        )
    putStrLn $ if move travel $ Travel 0 0 0 then "Yes" else "No"

move :: [Travel]
     -> Travel -- current status
     -> Bool
move [] _ = True
move ((Travel time x y):xs) (Travel ctime cx cy) = let
    canMove = (abs (cx - x) + abs (cx - x)) <= time - ctime :: Bool
    nextStates = Travel ctime cx cy :: Travel
    in canMove && move xs nextStates