n, h = gets.strip.split.map(&:to_i)
a = readlines.map {|line| line.strip.split.map(&:to_i) }.sort

categorized = a.group_by(&:first)

usual = categorized[categorized.keys.max].sort.first

throw_damage = a.select {|e| e.last>usual.first }.map(&:last).inject(0, :+)
if throw_damage >= h
  p a.select {|e| e.last>usual.first }.length
  exit
end

a.delete(usual)

result = 0

a.select {|e| e.last>usual.first }.map(&:last).sort.reverse.each do |thr|
  h -= thr
  result += 1

  if h<=0
    p result
    exit
  end
end

if usual.last > usual.first
  h -= usual.last
  result += 1
end

result += 1 if h%usual.first > 0

result += (h/usual.first)

p result
