#include <bits/stdc++.h> using namespace std; #define FOR(i,a,b) for(int i=a;i<b;i++) #define rep(i,b) FOR(i,0,b) #define INF 1e9 #define dump(x) cerr<<#x<<"="<<x<<endl #define all(a) (a).begin(),(a).end() typedef vector<int> V; typedef vector<V> VV; typedef vector<VV> VVV; template <class T> void chmin(T & a, T const & b) { if (b < a) a = b; } using ll = long long; const ll mod = LLONG_MAX; //dp[i][j]:=iにいくjは前0次1 int dp[2][2]; int main(){ int n,d; cin>>n>>d; rep(i,2)rep(j,2)dp[i][j]=-INF; dp[0][0]=0; rep(i,n){ int t,k; cin>>t>>k; dp[0][1]=t+max(dp[0][0],dp[1][0]-d); dp[1][1]=k+max(dp[0][0]-d,dp[1][0]); dp[0][0]=dp[0][1]; dp[1][0]=dp[1][1]; } int ans=max(dp[0][0],dp[1][0]); cout<<ans<<endl; }