N,D = map(int,input().split())
dp = [[0 for _ in range(2)] for _ in range(N)]
t,k = map(int,input().split())
dp[0][0],dp[0][1] = t,k-D

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