import Control.Monad
import Data.List



solver3 :: [(Int, Int)] -> String
solver3 ls =
  let ordered = sortBy (\(_, x) -> \(_, y) -> compare y x) ls
   in let latest_dead = maximum (map snd ls)
       in eater latest_dead ordered
  where
    eater t [] =
      if t < 0
        then "No"
        else "Yes"
    eater t ((len, dead):rest) = eater (t - len) rest

main :: IO ()
main = do
  n <- read <$> getLine
  dat <-
    forM [1 .. n] (\_ -> (\(a:b:_) -> (a, b)) . map read . words <$> getLine)
  putStrLn $ solver3 dat
