import Control.Monad
 
import Data.Ord
import Data.List
import Data.Function
import Data.Maybe
 
import qualified Data.ByteString.Char8 as BS
 
import Debug.Trace
 
tuplify2 :: [a] -> (a, a)
tuplify2 (x:y:_) = (x, y)
tuplify2 _ = undefined
 
readInt = read :: String -> Integer
readIntTuple = tuplify2 . map readInt . words
readIntList = map readInt . words
 
getInt = readInt <$> getLine
getIntList = readIntList <$> getLine
getIntMatrix = map readIntList . lines <$> getContents
getIntTuple = readIntTuple <$> getLine
getIntTuples = map readIntTuple . lines <$> getContents

main = do
  n <- getInt
  xs <- getIntTuples
  putStrLn $ h . foldl (&&) True . map g . scanl f (0,0) . sortBy (compare `on` snd) $ xs

f :: (Integer, Integer) -> (Integer, Integer) -> (Integer, Integer)
f x y = (fst x + fst y, snd y)

g :: (Integer, Integer) -> Bool
g x = fst x <= snd x

h :: Bool -> String
h x
  | x == True = "Yes"
  | otherwise = "No"
