
def main():

    n,h=map(int,input().split())
    a=[]
    b=[]
    for _ in range(n):
        a_,b_=map(int,input().split())
        a.append(a_)
        b.append(b_)
    sumb=sum(b)
    a.sort()
    b.sort()
    cnt=0
    # temp=h-sumb
    low=0
    high=n-1
    mid=0
    temp=h
    #a_max以上のbを探す（２分探索）
    while low!=high:
        mid=(low+high)//2
        if b[mid]<a[-1]:
            low=mid+1
        else:
            high=mid
    # print(b[mid])
    for i in range(n-1,mid,-1):
        # temp-=b[i]
        h-=b[i]
        cnt+=1
        if h<= 0:
            print(cnt)
            return
    # print(h)
    cnt+=-(-h//a[-1])
    print(cnt)
    return
    #
    # h-=a[-1]*cnt
    # else:
    #     cnt=0
    # print(h)
    # print(cnt)
    # print('aaa')
    # for i in range(0,n):
    #     cnt+=1
    #     h-=b[-(i+1)]
    #     print(b[-(i+1)])
    #     if h <= 0 :
    #         print(cnt)
    #         return

    # for j in range(0,h+1):
    #     if sumb >= h:
    #         for i in range(0,n):
    #             cnt+=1
    #             h-=b[-(i+1)]
    #             if h <= 0:
    #                 print(cnt)
    #                 return
    #     h-=a[-1]
    #     cnt+=1

if __name__=='__main__':
    main()
