N,M = map(int,input().split()) AB = [tuple(map(int,input().split())) for _ in range(N)] C = [0--(M-a)//b for a,b in AB] C.sort() def is_ok(k): if k==0: return False for i in range(N): j = i//k + 1 if j > C[i]: return False return True ok = M ng = 0 while ok-ng > 1: m = (ok+ng)//2 if is_ok(m): ok = m else: ng = m print(ok)