N,H = map(int,input().split())

A=[]
B=[]

for i in range(N):
    a,b = map(int,input().split())
    A.append(a)
    B.append(b)

maxA = max(A)
B.sort(reverse=True)

#（時間軸後ろから考えて）攻撃力がでかい方から投げつけ。
# 残りHP/maxA の切り上げ
nage = 0
ans = (H+maxA-1)//maxA#投げなし
for i in range(N):
    nage+=B[i]
    ans = min(ans, (i+1) + (H-nage+maxA-1)//maxA)

print(ans)