fun main(args: Array<String>) {
    val sc = java.util.Scanner(System.`in`)
    val N = sc.next().toInt()
    var H = sc.next().toInt()
    val a = IntArray(N)
    val b = IntArray(N)
    for (i in 0 until N){
        a[i] = sc.next().toInt()
        b[i] = sc.next().toInt()
    }

    var turn = 0

    b.sort()
    b.reverse()
    val max_a = a.max()!!
    for (bb in b) {
        if (H <= 0) break
        if (bb > max_a) {
            H -= bb
            turn += 1
        } else {
            break
        }
    }

    if (H > 0) turn += (H+max_a-1) / max_a

    println(turn)
}