#include #include #include #include #include using namespace std; int DP[101][2]; int main() { int N, D; cin >> N >> D; vectorT(N), K(N); for (int i = 0; i < N; i++) { cin >> T[i] >> K[i]; } DP[0][1] = -D; for (int i = 0; i < N; i++) { DP[i + 1][0] = max(DP[i][0] + T[i], DP[i][1] + T[i] - D); DP[i + 1][1] = max(DP[i][0] + K[i] - D, DP[i][1] + K[i]); } cout << max(DP[N][0], DP[N][1]) << endl; return 0; }