fun main(args: Array<String>) {
    val (n, h) = readLine()!!.split(' ').map { it.toInt() }
    val xs = IntArray(n)
    val ys = IntArray(n)
    repeat(n) {
        val (a, b) = readLine()!!.split(' ').map { it.toInt() }
        xs[it] = a
        ys[it] = b
    }

    var ans = 0
    var hp = h

    val a = xs.max()!!

    for (b in ys.filter { it > a }.sortedDescending()) {
        ans++
        hp -= b

        if (hp <= 0) {
            break
        }
    }

    if (hp > 0) {
        ans += (hp + a - 1) / a
    }

    println(ans)
}