n, h = map(int, input().split())
lst = [list(map(int, input().split())) for i in range(n)]
a = []
b = []
for i in range(len(lst)):
  a.append(lst[i, 0])
  b.append(lst[i, 0])
attack = max(a)
thorow_nife = sorted([i for i in b if i > attack], reverse=True)

counter = 0
for i in thorow_nife:
  h -= i
  counter += 1
  if h <= 0:
    break
    
if h > 0:
  counter += (h - 1) // attack + 1