#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;
}