n,h=map(int,input().split())
a=[]
b=[]
for _ in range(n):
    a_i,b_i=map(int,input().split())
    a.append(a_i)
    b.append(b_i)

import bisect,numpy,math


b=sorted(b)
cum=list(numpy.cumsum(b))
cum_a=list(numpy.cumsum([max(a)]*n)) 

index = bisect.bisect_left(b,max(a))
if index==0:
    #投げる方が威力が高い
    thorw=cum[n-1]
else:
    #降った方が良い場合もある
    thorw = 0
    for i in range(n):
        if i>=index:
            thorw+=b[i]

h-=thorw

cnt=math.ceil(h/max(a))
if h<=0:
    cnt=n-index
else:
    cnt+=n-index

print(cnt)
