import bisect

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

A = []
B = []
Amax = 0
for _ in range(N):
    a, b = map(int, input().split())
    Amax = max(a, Amax)
    B.append(b)

B.sort()
b = bisect.bisect_left(B, Amax)

res = 0
for i in reversed(B[b:]):
    res += 1
    if H < i:
        print(res)
        exit()
    H -= i

print(res + (H // Amax + int(H % Amax != 0)))
