n,d = map(int, input().split()) tk=[list(map(int,input().split())) for i in range(n)] dp = [[-10**10 for _ in range(2)] for _ in range(n+1)] dp[0][0]=0 for i in range(n): dp[i+1][0] = max(dp[i+1][0],dp[i][0]+tk[i][0]) # work in tokyo dp[i+1][1] = max(dp[i+1][1],dp[i][0]+tk[i][1]-d) # tokyo->kyoto, work in kyoto dp[i+1][1] = max(dp[i+1][1],dp[i][1]+tk[i][1]) # work in kyoto dp[i+1][0] = max(dp[i+1][0],dp[i][1]+tk[i][0]-d) # kyoto->tokyo, work in tokyo print(max(dp[n]))