import Data.Ord (comparing)
import Data.List (sortBy)
import Data.Maybe (fromJust)
import Control.Monad (replicateM, foldM)
import qualified Data.ByteString.Char8 as BS


toInt = fst . fromJust . BS.readInt

toIntPair =
    let
        toTuple = \(a : b : _) -> (a, b)
    in
        toTuple . map toInt . BS.words

sortByTime = sortBy $ comparing snd

accepts acc (a, b) =
    let
        cost = a + acc
    in
        if cost <= b then Just cost else Nothing

work = foldM accepts 0

main = do
    n <- toInt <$> BS.getLine
    pairs <- map toIntPair <$> replicateM n BS.getLine

    case work . sortByTime $ pairs of
        Nothing -> putStrLn "No"
        _       -> putStrLn "Yes"
