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
zen = bs.select{|z| z>=as.max}
nokori = h-zen.sum
if nokori <= 0
  ino = zen.sort.reverse
  i = 0
  cnt = 0
  while i < zen.size
    cnt += ino[i]
    if cnt >= h
      puts i+1
      break
    else
      i += 1
    end
  end
else
  puts (nokori.to_f/as.max).ceil+zen.size
end