def larger(xl, yl): if xl[1] > yl[1]: return xl else: return yl N, D = map(int, raw_input().split()) salarylist = [] for i in range(0, N): salarylist.append(map(int, raw_input().split())) dp = [[0, 0]] for i in range(0, N): if dp[i][0] == 0: dp.append(larger([0, dp[i][1]+salarylist[i][0]], [1, dp[i][1]+salarylist[i][1]-D])) else: dp.append(larger([0, dp[i][1]+salarylist[i][0]-D], [1, dp[i][1]+salarylist[i][1]])) print dp[N][1]