#include<bits/stdc++.h> using namespace std; int main(){ int n,d;cin >> n >> d; vector<int> t(n),k(n); for(int i=0;i<n;i++){ cin >> t[i] >> k[i]; } int dp[n+1][2]; memset(dp,0,sizeof(dp)); dp[0][0]=0; dp[0][1]=-d; for(int i=0;i<n;i++){ dp[i+1][0]=max(dp[i][0],dp[i][1]-d)+t[i]; dp[i+1][1]=max(dp[i][1],dp[i][0]-d)+k[i]; } cout << max(dp[n][0],dp[n][1]) << endl; }