import math
def solve(n, h, a_arr, b_arr):
    max_a = max(a_arr)
    max_b = max(b_arr)

    max_a_i = a_arr.index(max_a)
    max_b_i = b_arr.index(max_b)

    throw_sum = 0
    throw_i = 0
    for b in b_arr:
        if b > max_a:
            throw_sum += b
            throw_i += 1

    attack_i = 0
    if h > throw_sum:
        attack_i = math.ceil((h - throw_sum) / max_a)

    return throw_i + attack_i



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

print(solve(n, h, a_arr, b_arr))
