N, M = map(int, input().split()) AB = [tuple(map(int, input().split())) for _ in range(N)] E = [(M - a) // b + 1 for a, b in AB] E.sort() ok = N ng = 0 while ok - ng > 1: mid = (ok + ng) // 2 F = [] for i in range(N // mid + 1): for _ in range(mid): F.append(i + 1) if all(E[i] >= F[i] for i in range(N)): ok = mid else: ng = mid print(ok)