t = 1 #t = int(input()) for _ in range(t): n,d = map(int, input().split()) lis = [list(map(int, input().split())) for _ in range(n)] su = 0 for i in lis: su += i[0] lis.sort(key = lambda x:(-x[1])) cur = 0 while su > d: bef = lis.pop() su -= bef[0] cur = bef[1] while lis and lis[-1][1] == cur: bef = lis.pop() su -= bef[0] lis2 = [] for i,j in lis: lis2.append([(j-cur)%d,i]) lis2.sort() ii = 0 nn = len(lis2) mi,tim = 0,0 su = 0 bef = 0 while ii < nn: a,b = lis2[ii] su += a-bef bef = a su -= b ii += 1 while ii < nn and lis2[ii][0] == a: su -= lis2[ii][1] ii += 1 if mi > su: mi = su tim = bef ans = cur+tim for i,j in lis: res = max(0,j-cur-tim) ans += i * ((res+d-1)//d ) print(ans)