import math
N,H = map(int,input().split())
swing, thrower = 0,[]
for i in range(N):
    a,b = map(int,input().split())
    swing = max(a,swing)
    thrower.append(b)

thrower.sort(reverse = True)

for i in range(N):
    if thrower[i] < swing:
        thrower = thrower[:i]
        break

ans = 0

for i in thrower:
    ans += 1
    H -= i
    # print(ans,"回目の攻撃",i,"ダメージ")
    if H < 0:
        print(ans)
        exit()
ans += math.ceil(H/swing)
# print(math.ceil(H/swing),"回連続攻撃",swing)
print(ans)