import bisect
n,h = map(int,input().split())
v=[list(map(int,input().split())) for i in range(n)]

v = sorted(v, key=lambda x: x[1])

a = []
b = []
for i in range(n):
    a.append(v[i][0])
    b.append(v[i][1])

m = max(a)    
k = bisect.bisect_left(b,m)
b.append(0)

#print(k,m)
#print(sum(b[k::]))
hj = (h-sum(b[k::]))
if hj%m == 0:
    i = 0
else:
    i = 1
print(hj//m + i + n - k)
