(N, H) = STDIN.gets.split(' ').map(&:to_i)
as = []
bs = []
N.times do 
    (a, b) = STDIN.gets.split(' ').map(&:to_i)
    as << a
    bs << b
end

best_a = as.max

currentH = H
counter = 0
bs.select{|x| x > as.max}.each do |b|
    currentH -= b
    counter += 1
    if currentH <= 0 then
        break
    end
end

if currentH > 0 then
    counter += currentH / best_a
    counter += currentH % best_a > 0 ? 1 : 0
end

puts counter