N, D = map(int, input().split()) TK = [tuple(map(int, input().split())) for _ in range(N)] dp = [[0, -10**18] for _ in range(N+1)] for i in range(N): T, K = TK[i] dp[i+1][0] = max(dp[i][0]+T, dp[i][1]-D+T) dp[i+1][1] = max(dp[i][1]+K, dp[i][0]-D+K) print(max(dp[N][0], dp[N][1]))