let split c s = (
    let res = ref [] in
    let i = ref 0 in
    let n = String.length s in
    while !i < n do
      let j = !i in
      while !i < n && s.[!i] <> c do i := !i + 1 done;
      res := String.sub s j (!i - j) :: !res;
      i := !i + 1;
    done;
    List.rev !res
  );;

let rec range a b = if a > b then [] else a :: range (a + 1) b;;
let read_ints () = read_line () |> split ' ' |> List.map int_of_string;;

let n = read_int ();;
let ab = Array.make n (0, 0);;
for i = 0 to n - 1 do
  let [x; y] = read_ints () in
  ab.(i) <- (x, y);
done;;
Array.sort (fun (a, b) (c, d) -> compare b d) ab;;

let curr = ref 0;;
let all = ref true;;
for i = 0 to n - 1 do
  curr := !curr + fst ab.(i);
  all := !all && (!curr <= snd ab.(i));
done;;

if !all then
  print_endline "Yes"
else
  print_endline "No";;
    
