import heapq

N,HP = map(int,input().split())
Katana = [list(map(int,input().split())) for i in range(N)]

Wield,Throw = map(list,zip(*Katana))

Throw = list(map(lambda t:(-t,t),Throw))
heapq.heapify(Throw)

MaxW = max(Wield)

count = 0
while Throw:
  MaxT = heapq.heappop(Throw)[1]
  if MaxT >= MaxW:
    HP -= MaxT
    count += 1
    if HP < 0:
      print(count)
      exit()

print(-(-HP//MaxW)+count)