from math import ceil
n, h = map(int, input().split())
cut = set()
throw = []

for _ in range(n):
    a, b = map(int, input().split())
    cut.add(a)
    throw.append(b)

throw.sort(reverse=True)
ans = 0
tmp = []
m_cut = max(cut)

for t in throw:
    if t > m_cut:
        tmp.append(t)
    else:
        break

if h > sum(tmp):
    ans += ceil((h - sum(tmp)) / m_cut)
    h -= m_cut * ans

if h > 0:
    ans += len(tmp)

print(ans)