N, H = map(int, input().split())
# N < 10**5
# H < 10**9
# A<=B<=10**9

B = [0]*N
maxA = 0
for i in range(N):
    a, b = [int(x) for x in input().split()]
    B[i] = a, b
    maxA = max(maxA, a)

# 投げる奴の候補
B = sorted([b for a, b in B if b > maxA], reverse=True)

cnt = 0
for b in B:
    cnt += 1
    H -= b
    if H <= 0:
        break
q, r = divmod(H, maxA)
print(cnt + q + (1 if r > 0 else 0))
