import math


def resolve():
    n, h = map(int, input().split())
    ab = list(list(map(int, input().split())) for _ in range(n))
    ab.sort(key=lambda x: (x[0], x[1]), reverse=True)
    max_a = ab[0][0]
    count = 0
    for a, b in ab[1:]:
        if b > max_a:
            h -= b
            count += 1
    if ab[0][1] > ab[0][0]:
        h -= ab[0][1]
        count += 1
    count += math.ceil(h / max_a)
    print(count)


if __name__ == "__main__":
    resolve()
