import Control.Monad
import Data.List
import qualified Data.ByteString.Char8 as BS

main :: IO ()
main = do
  n <- readLn
  as <-
    zip (repeat True) . sort <$> replicateM n ((\[a, b] -> (b, a)) . map (read . BS.unpack) . BS.words <$> BS.getLine)
  let x = foldl1 (\(fa, (a, b)) (fb, (c, d)) -> (c >= b + d, (c, b + d))) as
  putStrLn $ if fst x then "Yes" else "No"



