#include #include #include #include std::vector> dp(100, std::vector(2)); int main() { int n, d; std::cin >> n >> d; std::vector> tk(n, std::vector(2)); for (int i = 0; i < n; ++i) { std::cin >> tk[i][0] >> tk[i][1]; } dp[0][0] = tk[0][0]; dp[0][1] = tk[0][1] - d; for (int i = 1; i < n; ++i) { dp[i][0] = std::max(dp[i-1][0] + tk[i][0], dp[i-1][1] + tk[i][0] - d); dp[i][1] = std::max(dp[i-1][1] + tk[i][1], dp[i-1][0] + tk[i][1] - d); } std::cout << std::max(dp[n-1][0], dp[n-1][1]) << std::endl; return 0; }