{-# LANGUAGE BangPatterns #-}

import Control.Monad
import Data.List
import Data.Bits
import Debug.Trace
import Data.Maybe
import qualified Data.ByteString.Char8 as C

main :: IO ()
main = do
  [n] <- readInts
  inputs <- readNIntegers n
  putStrLn $ solve n inputs

solve n inputs = validateJobs $ sortJobs inputs

sortJobs inputs = sortOn (!! 1) $ sortOn (!! 0) inputs

validateJobs = validateJobsSub 0
  where
    validateJobsSub t (x:xs) = if nt > (x !! 1)
      then "No"
      else validateJobsSub nt xs
      where
        nt = t + (x !! 0)
    validateJobsSub _ [] = "Yes"

-- 以下ライブラリ

readInts :: IO [Int]
readInts = map (fst . fromJust . C.readInt) . C.words <$> C.getLine

readNInts :: Int -> IO [[Int]]
readNInts = flip replicateM readInts

readIntegers :: IO [Integer]
readIntegers = map (fst . fromJust . C.readInteger) . C.words <$> C.getLine

readNIntegers :: Int -> IO [[Integer]]
readNIntegers = flip replicateM readIntegers

getNLns :: Int -> IO [String]
getNLns = flip replicateM getLine