n,h = gets.strip.split.map(&:to_i)
as = []
bs = []
n.times do
  a,b = gets.chomp.split.map(&:to_i)
  as << a
  bs << b
end
ino = bs.sort.reverse
i = 0
while ino[i].to_i>=as.max && h>0 do
  h -= ino[i]
  i += 1
end
if h <= 0
  puts i
else
  puts (h.to_f/as.max).ceil+i
end