import math
N,M=(int(x) for x in input().split())
#a=[0]*(N)
#b=[0]*(N)
c=0
v=0
a = []
b = []
for _ in range(N):
    A, B = map(int,input().split())
    a.append(A)
    b.append(B)
#for i in range(N):
#    A,B=(int(x) for x in input().split())
#    a[i]=A
#    b[i]=B
#print(a,b)
v = max(a)
#ソート開始
b.sort(reverse=True)
#ソート終了
#print(i,b[i],v,M,N)
i=0
for i in b:
    if i>=v:
        c+=1
        M-=i
    else:break
if M>0:
    c+=math.ceil(M/v)
print(c)