#include using namespace std; static const int INF=1e9; int main(){ int N,D; cin >> N >> D; int T[N],K[N]; for(int i=0;i> T[i] >> K[i]; } int dp[2][N+1]; dp[0][0]=0; dp[1][0]=-D; for(int i=1;i<=N;i++){ dp[0][i]=max(dp[0][i-1]+T[i-1],dp[1][i-1]+K[i-1]-D); dp[1][i]=max(dp[1][i-1]+K[i-1],dp[0][i-1]+T[i-1]-D); } cout << max(dp[0][N],dp[1][N]) << endl; }