n,h =map(int,input().split())
a,b = [0]*n,[0]*n
for i in range(n):
    a[i],b[i] = map(int,input().split())
A = max(a)
c = h//A + [1,0][h%A==0]
if sum(b) >= h:
    c0 = 1
    e = list(reversed(sorted(b)))
    i = 0
    d = e[i]
    while d < h: 
        if i < n:
            if e[i] < A :
                print(c0 + (h-d-e[i])//A + [1,0][(h-d-e[i])%A==0])
                exit()
        c0 += 1
        i += 1
        d += e[i]
    c = min(c,c0)
print(c)