def main():
    from math import ceil
    from itertools import accumulate
    from bisect import bisect_left
    n, h, *ab = map(int, open(0).read().split())
    l = sorted(ab[1::2], reverse=True)
    x = list(accumulate(l))
    if x == h:
        print(n)
    elif x[-1] < h:
        print(ceil((h - x[-1]) / max(ab[::2])) + n)
    else:
        i = bisect_left(x, h)
        print(i + 1)


if __name__ == '__main__':
    main()
