import Data.Ord (comparing)
import Data.List (sortBy)
import Data.Maybe (fromJust)
import Control.Monad (replicateM)
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

works =
    let
        work acc t = (fst t + fst acc, snd t)
    in
        tail . scanl work (0, 0)

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

    let accepts = \t -> fst t <= snd t
    let check = takeWhile accepts . works . sortByTime

    let count = length $ check pairs

    putStrLn (if n == count then "Yes" else "No")
