n, h = map(int, input().split())
xs = [[int(x) for x in input().split()] for _ in range(n)]

a = max(x[0] for x in xs)
ys = sorted((x[1] for x in xs), reverse=True)

for i, v in enumerate(ys):
    if v <= a or h <= 0: break
    h -= v
else:
    i += 1

j = (max(h, 0) + a - 1) // a
print(i+j)