n, h = map(int, input().split())
S = [list(map(int, input().split())) for i in range(n)]
S.sort(key=lambda x: x[1], reverse=True)
# print(S)

count = 0
max_rp = max([x[0] for x in S])
idx = 0
while h > 0 and idx < len(S) and S[idx][1] > max_rp:
    h -= S[idx][1]
    count += 1
    # print(idx, h, count)
    idx += 1

print(count + (h-1)//max_rp + 1)
