#include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(0); int N, D; cin >> N >> D; vector T(N), K(N); for (int i = 0; i < N; i++) { cin >> T[i] >> K[i]; } vector> dp(N + 1, vector(2, 0)); dp[0][1] = -(1 << 28); 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]) << '\n'; return 0; }