#include using namespace std; #define REP(i, n) for(int i = 0; i < n; i++) #define FOR(i, m, n) for(int i = m; i < n; i++) int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n, d; cin >> n >> d; vector T(n), K(n); REP(i, n) cin >> T[i] >> K[i]; int dp[101][2]; dp[0][0] = T[0], dp[0][1] = K[0] - d; FOR(i, 1, n) { dp[i][0] = max(dp[i - 1][0], dp[i - 1][1] - d) + T[i]; dp[i][1] = max(dp[i - 1][0] - d, dp[i - 1][1]) + K[i]; } cout << max(dp[n - 1][0], dp[n - 1][1]) << endl; return 0; }