#include #include #include #include #include #include #include #include #include #include #include #include #define rep(i,j,k) for(int i=(int)j;i<(int)k;i++) #define Sort(x) sort((x).begin(),(x).end()) #define all(x) (x).begin(),(x).end() #define fi first #define se second #define vi vector #define INF (int)1e9 #define INFL 1e18 #define MOD 1000000007 #define pb push_back #define MP make_pair typedef long long int ll; typedef std::pair P; int D=1; int dx[4]={0,1,0,-1},dy[4]={1,0,-1,0}; using namespace std; int main(){ int ans=0; int n,d; cin>>n>>d; vector> dp(2,vector(n+1,-1)); dp[0][0]=0; dp[1][0]=-INF; rep(i,0,n){ int t,k; cin>>t>>k; dp[0][i+1]=max(dp[0][i]+t,dp[1][i]+t-d); dp[1][i+1]=max(dp[0][i]+k-d,dp[1][i]+k); } cout<