# ABC085D - Katana Thrower

import sys

input = sys.stdin.readline



def main():

    N, H = tuple(map(int, input().split()))

    AB = tuple(tuple(map(int, input().split())) for _ in range(N))

    A, B = list(zip(*AB))

    x = max(A)

    B = sorted([i for i in B if i > x], reverse=1)

    ans = 0

    for i in B:

        ans += 1

        H -= i

        if H <= 0:

            break

    else:

        ans += (H + x - 1) // x

    print(ans)





if __name__ == "__main__":

    main()
# ABC085D - Katana Thrower

def main():

    N, H, *AB = list(map(int, open(0).read().split()))

    A = AB[::2]

    x = max(A)

    B = sorted([i for i in AB[1::2] if i > x], reverse=1)

    ans = 0

    for i in B:

        ans += 1

        H -= i

        if H <= 0:

            break

    else:

        ans += (H + x - 1) // x

    print(ans)





if __name__ == "__main__":

    main()
# ABC085D - Katana Thrower
import sys

input = sys.stdin.readline


def main():
    N, H = tuple(map(int, input().split()))
    AB = tuple(tuple(map(int, input().split())) for _ in range(N))
    A, B = list(zip(*AB))
    x = max(A)
    B = sorted([i for i in B if i > x], reverse=1)
    ans = 0
    for i in B:
        ans += 1
        H -= i
        if H <= 0:
            break
    else:
        ans += (H + x - 1) // x
    print(ans)


if __name__ == "__main__":
    main()

# ABC085D - Katana Thrower
def main():
    N, H, *AB = list(map(int, open(0).read().split()))
    A = AB[::2]
    x = max(A)
    B = sorted([i for i in AB[1::2] if i > x], reverse=1)
    ans = 0
    for i in B:
        ans += 1
        H -= i
        if H <= 0:
            break
    else:
        ans += (H + x - 1) // x
    print(ans)


if __name__ == "__main__":
    main()

-import sys - -input = sys.stdin.readline - - -    N, H = tuple(map(int, input().split())) -    AB = tuple(tuple(map(int, input().split())) for _ in range(N)) -    A, B = list(zip(*AB)) +    N, H, *AB = list(map(int, open(0).read().split())) +    A = AB[::2] -    B = sorted([i for i in B if i > x], reverse=1) +    B = sorted([i for i in AB[1::2] if i > x], reverse=1)