n, h = gets.split.map(&:to_i)
abs = []
n.times do
  abs << gets.split.map(&:to_i)
end

abs.sort_by! { |ab| -ab[0] }

a_max = abs[0][0]

abs.reject! { |ab| ab[1] <= a_max }

abs.sort_by! { |ab| -ab[1] }

ans = 0
sum = 0
abs.each do |a, b|
  sum += b
  ans += 1
  if sum > h
    puts ans
    exit
  end
end
ans += ((h - sum).to_f / a_max.to_f).ceil
puts ans
