n,h = map(int,input().split())
L,a,b = [],[],[]

for i in range(n):
    c,d = map(int,input().split())
    L.append((c,d))
    a.append(c)
    b.append(d)
maxa = max(a)
b.sort(reverse = True)
sum1 = 0
for i in range(n):
    sum1 +=b[i]
    if sum1 >=h:
        print(i+1)
        exit()
#print(a,b,maxa)     
sum1 = 0
cnt = 0
for i in range(n):
    if all((a[i] == maxa in a for i in range(n))):
        sum1 = sum(b) - min(b)
        cnt = n-1
    elif b[i] > maxa and L[i][0] != max(a):
        sum1 +=b[i]
        cnt +=1
#print(sum1,cnt)
if (h-sum1)%maxa == 0:
    print(cnt + (h-sum1)//maxa)
else:
    print(cnt + (h-sum1)//maxa +1)