import sys

import math



n, h = list(map(int, input().split()))

a = 0

b = []



for i in range(n):

    x, y = list(map(int, input().split()))

    a = max(a, x)

    b.append(y)



b.sort(reverse=True)



b = [x for x in b if x > a]



for i, x in enumerate(b):

    h -= x

    if h <= 0:

        print((i + 1))

        sys.exit()



if len(b) == 0:

    i = -1



ans = i + 1 + math.ceil(h / a)



print(ans)
import sys



n, h = list(map(int, input().split()))



max_a = 0

b = []

for i in range(n):

    x, y = list(map(int, input().split()))

    max_a = max(max_a, x)

    b.append(y)



# 投げる価値がある刀を抜粋する

b = [x for x in b if x > max_a]



# 強い順に投げていく

b.sort(reverse=True)



i = 0

if len(b) > 0:

    for i, x in enumerate(b):

        i += 1

        h -= x

        if h <= 0:

            print(i)

            sys.exit()



# 投げ終わったら最強の刀で攻撃し続ける

print(((h + max_a - 1) // max_a + i))
import sys
import math

n, h = list(map(int, input().split()))
a = 0
b = []
for i in range(n):
    x, y = list(map(int, input().split()))
    a = max(a, x)
    b.append(y)
b.sort(reverse=True)
b = [x for x in b if x > a]
for i, x in enumerate(b):
    h -= x
    if h <= 0:
        print((i + 1))
        sys.exit()
if len(b) == 0:
    i = -1
ans = i + 1 + math.ceil(h / a)
print(ans)

import sys

n, h = list(map(int, input().split()))
max_a = 0
b = []
for i in range(n):
    x, y = list(map(int, input().split()))
    max_a = max(max_a, x)
    b.append(y)
# 投げる価値がある刀を抜粋する
b = [x for x in b if x > max_a]
# 強い順に投げていく
b.sort(reverse=True)
i = 0
if len(b) > 0:
    for i, x in enumerate(b):
        i += 1
        h -= x
        if h <= 0:
            print(i)
            sys.exit()
# 投げ終わったら最強の刀で攻撃し続ける
print(((h + max_a - 1) // max_a + i))

-import math -a = 0 +max_a = 0 -    a = max(a, x) +    max_a = max(max_a, x) +# 投げる価値がある刀を抜粋する +b = [x for x in b if x > max_a] +# 強い順に投げていく -b = [x for x in b if x > a] -for i, x in enumerate(b): -    h -= x -    if h <= 0: -        print((i + 1)) -        sys.exit() -if len(b) == 0: -    i = -1 -ans = i + 1 + math.ceil(h / a) -print(ans) +i = 0 +if len(b) > 0: +    for i, x in enumerate(b): +        i += 1 +        h -= x +        if h <= 0: +            print(i) +            sys.exit() +# 投げ終わったら最強の刀で攻撃し続ける +print(((h + max_a - 1) // max_a + i))