
import Control.Monad
import Data.List

solve :: Int -> [(Int,Int)] -> Bool
solve time [] = True
solve time (x:xs) = 
    if _time < a
    then
        False
    else 
        solve (_time - a) xs
    where 
        a = fst x
        b = snd x
        _time = min time b

main :: IO()
main = do

    n <- (read :: String -> Int)  <$> getLine

    arr <- map ((map (read :: String -> Int)).words) <$> replicateM n getLine

    let sortedArray = reverse $ sortOn snd $ map (\arr -> (head arr, (head.tail) arr) ) arr

    putStrLn $ if solve maxBound sortedArray then "Yes" else "No"