# coding: utf-8
# Your code here!

N,H=[int(i) for i in input().split()]

a = [0 for i in range(N)]
b = [0 for i in range(N)]
ll = []
for i in range(N):
    x,y=([int(i) for i in input().split()])
    ll.append([x,y])
    a[i] = x
    b[i] = y
amax = max(a)
bmax = max(b)

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


amaxind = [i for i in range(N) if lll[i][0] == amax]
#print(amaxind)
#print(lll)
c=0
while H > 0:
    if lll[-1][0] != amax:
        X = lll.pop()
        H -= X[1]
        c +=1
#        print(H,c)
    else:
        if len(amaxind) > 1:
            X = lll.pop()
            H -= X[1]
            c +=1
            amaxind.pop()
#            print(amaxind)
        else:
            if H <= lll[-1][1]:
                H = 0
                c +=1
            else:
                num = (H-lll[-1][1]-1)//lll[-1][0]
                H -= (num+1) * lll[-1][0]
                c += num+1
#        print(H,c)
print(c)                

            
    
    



