import java.util.*

fun main(args: Array<String>){

    var (N, H) = readLine()!!.split(" ").map{it.toLong()}
    var a = LongArray(N.toInt())
    var b = LongArray(N.toInt())
    var maxa = 0L

    for(i in a.indices){
        var (tmpa,tmpb) = readLine()!!.split(" ").map{it.toLong()}
        a[i] = tmpa
        b[i] = tmpb
        maxa = Math.max(a[i],maxa)
    }
    Arrays.sort(b)

    var ans = (H + maxa -1) / maxa
    var sumb= 0L
    for(i in N-1 downTo 0){
        sumb += b[i.toInt()]
        ans = Math.min(Math.max((H - sumb + maxa -1) / maxa,0) + N-i,ans)
    }

    if(ans < 1) ans = 1
    println(ans)




}