l0 = input().split(' ')
N = int(l0[0])
H = int(l0[1])
L = []
i=0
while i < N:
    l1 = input().split(' ')
    l2 = [int(l1[0]), int(l1[1])]
    L.append(l2)
    i += 1
L.sort(key = lambda x:x[1])
#b_iの順に並び変え
L2 = L.copy()
L2.sort()
Amax = L2[N-1][0]
p=N-1
while p >= 0:
    if L[p][1] > Amax:
        p -= 1
    else:
        break
p += 1
Btot = 0
counter = 0
while p < N:
    Btot += L[p][1]
    p += 1
    counter += 1

rem = H - Btot
counter += rem // Amax
if rem % Amax != 0:
    counter += 1
print(counter)