N,M = list(map(int,input().split())) plant = [] for _ in range(N): a,b = list(map(int,input().split())) plant.append((M-a)//b) plant.sort(reverse=True) def check(n): now = plant[:] for i in range(N): if(now[-1] < i):return False for _ in range(n): if(not now):return True now.pop() return len(now) == 0 ng,ok = 0,N while(ok - ng > 1): mid = (ok+ng)//2 if(check(mid)): ok = mid else: ng = mid print(ok)