import scala.collection.mutable.Queue

object Main extends App {
  val sc = new java.util.Scanner(System.in)
  val n = sc.nextInt()
  var h = sc.nextInt()
  val (a, b) = List.fill(n)((sc.nextInt(), sc.nextInt())).unzip
  val aMax = a.max
  var q = Queue.from(b.filter(_ > aMax).sorted.reverse)

  var ans = 0
  while (h > 0) {
    if (q.nonEmpty) {
      h -= q.dequeue()
      ans += 1
    } else {
      ans += (h + aMax - 1) / aMax
      h = 0
    }
  }
  println(ans)
}