import numpy as np

n,h = map(int,input().split())
a = [0 for i in range(n)]
b = [0 for i in range(n)]
for i in range(n):
    ta,tb = map(int,input().split())
    a[i] = ta
    b[i] = tb

a.sort()
to_swing = a[-1]
b.sort()

thr = np.searchsorted(b,a)[0]

# print(to_swing)
# print(thr)

m = 100000000000000000
for i in range(1,n+1-thr):
    h -= b[-i]
    if to_swing!=1:
        sw = (h+1)//to_swing
    else:
        sw = h
    temp = i+sw
    # print(temp)
    if temp < m:
        m = temp

print(m)