import numpy as np
N, H = map(int, input().split())
A, B = np.array(tuple(tuple(map(int, input().split())) for _ in range(N))).T

m = A.max()
B.sort()
C = iter(B[B > m][::-1])

count = 0

while H > 0:
    try:
        d = next(C)
    except StopIteration:
        break
    else:
        H -= d
        count += 1

Q, R = divmod(H, m)

print(count + Q + bool(R))
