class Q1052
  def doIt
    n = gets.to_i
    island = Struct.new("Island", :treasure, :bridge)
    while n > 0
      ary = Array.new
      for i in 0..n-1
        t = gets.split(" ").map{|x| x.to_i}
        is = island.new(t[0], t[1])
        ary.push is
      end
      ary.sort!{|a, b| a.bridge <=> b.bridge}
      sum = 0
      bOK = 1
      for i in 0..n-1
        sum += ary[i].treasure
        if ary[i].bridge < sum
          bOK = 0
          break
        end
      end
      if bOK == 1 then puts "Yes"
      else puts "No"
      end
      n = gets.to_i
    end
  end
end

Q1052.new.doIt