N,M = map(int, input().split()) D = [] for _ in range(N): a,b = map(int, input().split()) D.append((M-a)//b) D = sorted(D) low = 0 high = N while high-low>1: mid = (low+high)//2 cnt = 1 flag = True for i in range(mid,N,mid): if D[i]-cnt>=0: cnt += 1 else: flag = False break if flag: high = mid else: low = mid print(high)