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)

import numpy
A = numpy.array(A)
B = numpy.array(B)
AsortA = numpy.sort(A)[::-1]
BsortB = numpy.sort(B)[::-1]

ans = 0
if(sum(B) >= H):
    for i in range(1,N+1):
        if(sum(BsortB[:i]) >= H):
            ans = i
            break
else:
    resH = H - sum(B)
    maxattack = AsortA[0]
    ak = int(numpy.ceil(resH/maxattack))
    ans = ak + N
    
print(ans)