from operator import itemgetter

ip = map(int, raw_input().split())
N = ip[0]
H = ip[1]
katana = []
for i in range(0, N):
    ip = map(int, raw_input().split())
    katana.append(ip)

#print katana                                                             
katana.sort(key = itemgetter(0))
a = katana.pop(len(katana)-1)
katana.sort(key = itemgetter(1))
count = 0
hp_now = H
while hp_now > 0:
    if a[1] > a[0] and a[1] > katana[len(katana)-1][1]:
        hp_now -= a[1]
        #print 'damage:', a[1]                                            
        a[1] = 0
    elif a[0] >= katana[len(katana)-1][1]:
        hp_now -= a[0]
        #print 'damage:', a[0]                                            
    else:
        hp_now -= katana[len(katana)-1][1]
        #print 'damage:', katana[len(katana)-1][1]                        
        katana.pop(len(katana)-1)
    count += 1
print count