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

dp = [[0]*2 for _ in range(N)]
dp[0][0] = T[0]
dp[0][1] = K[0]-D
for i in range(1, N):
    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(max(dp[N-1]))