# dpかな
# dp[i日目][東京で働く0、京都で働く1]最大収入、遷移で移動コスト反映

N, D = map(int, input().split())
T, K = [0], [0]
for i in range(N):
    t, k = map(int, input().split())
    T.append(t)
    K.append(k)

dp = [[0]*2 for i in range(N+1)]
dp[0][1] = -10**20

for i in range(1, N+1):
    dp[i][0] = max(dp[i-1][0]+T[i], dp[i-1][1]+T[i]-D)
    dp[i][1] = max(dp[i-1][0]+K[i]-D, dp[i-1][1]+K[i])
    #print(dp[i])
    
ans = max(dp[N])
print(ans)