function parseInt(x) parse(Int, x) end
function maxim(n,x)
  maxim = 0
  for i in 1:n
    if x[i][1] > maxim
      maxim = x[i][1]
    end
  end
  return(maxim)
end

function sub(n, h, x)
  for i in 1:n
    x[i] = parseInt.(split(readline()))
  end
  maxa = maxim(n,x)
  useb = Int[]
  for i in 1:n
    if x[i][2] > maxa
      push!(useb, x[i][2])
    end
  end
  count = 0
  for i in 1:length(useb)
    if h > 0
      h -= useb[i]
      count += 1
    end
  end
  if h > 0
    if h%maxa == 0
      count += div(h, maxa)
    else
      count += div(h, maxa)+1
    end
  end
  return(count)
end

function main()
  ar = parseInt.(split(readline()))
  n = ar[1]
  h = ar[2]
  x = [Int[] for i in 1:n]
  print(sub(n, h, x))
end

main()