n,h= map(int,input().split())
bl = []
maxa = -1
for i in range(n):
    a,b= map(int,input().split())
    maxa = max(maxa,a)
    bl.append(b)
bl.sort()
bbi = -1
for i in range(n):
    if bl[i] > maxa:
        bbi = i
        break
hrest,bc = h,0
batack = batackn = 0
for i in range(n-1,bbi-1,-1):
    hrest-=bl[i]
    batack+=bl[i]
    batackn+=1
    if hrest <=0:break
aatackn = 0
if hrest>0:
    aatackn = hrest//maxa
    if (hrest)%maxa != 0:aatackn+=1
print(batackn+aatackn)