def main():
    N, H = (int(i) for i in input().split())
    ab = [[int(i) for i in input().split()] for j in range(N)]
    a_max = -1
    a_max_idx = -1
    for i,v in enumerate(ab):
        if a_max < v[0]:
            a_max = v[0]
            a_max_idx = i
    b = [val[1] for i,val in enumerate(ab) if i != a_max_idx and val[1] >= a_max]
    b.sort(reverse=True)
    ans = 0
    for throw in b:
        if H <= 0:
            break
        ans += 1
        H -= throw
    else:
        ans += 1
        H -= ab[a_max_idx][1]
    if H <= 0:
        print(ans)
    else:
        from math import ceil
        ans += int(ceil(H/a_max))
        print(ans)

if __name__ == '__main__':
    main()