#include #include #include int INF = 987654321; using ll = long long; int n, d, t, k; int main() { std::cin >> n >> d; int tokyo_dp[n]; int kyoto_dp[n]; int kyoto_price[n]; int tokyo_price[n]; for (int i = 0; i < n; i++) { std::cin >> t >> k; tokyo_price[i] = t; kyoto_price[i] = k; tokyo_dp[i] = 0; kyoto_dp[i] = 0; } kyoto_dp[0] = -INF; for (int i = 1; i <= n; i++) { tokyo_dp[i] = std::max(tokyo_dp[i-1], kyoto_dp[i-1]-d) + tokyo_price[i-1]; kyoto_dp[i] = std::max(kyoto_dp[i-1], tokyo_dp[i-1]-d) + kyoto_price[i-1]; } std::cout << std::max(tokyo_dp[n], kyoto_dp[n]) << std::endl; }