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]))