N, D = map(int, input().split()) dpt = [0 for i in range(N)] dpk = [0 for i in range(N)] dpt[0], dpk[0] = map(int, input().split()) dpk[0] = dpk[0] - D for i in range(N-1): T, K = map(int, input().split()) dpt[i + 1] = max(dpt[i] + T, dpk[i] + T - D) dpk[i + 1] = max(dpk[i] + K, dpt[i] + K - D) print(max(dpk[-1],dpt[-1]))