#include using namespace std; using LL = long long; LL dp[101][2]; // 収入の累計 を 東京, 京都 で, それぞれ保管. int main() { // 1. 入力情報取得. int N; LL D; cin >> N >> D; // 2. A君がN日間で増やした金額の最大値を計算. LL t, k; cin >> t >> k; dp[1][0] = t, dp[1][1] = k - D; for(int i = 2; i <= N; i++){ cin >> t >> k; // 本日, 東京で仕事する場合. dp[i][0] = max(dp[i - 1][0] + t, dp[i - 1][1] + t - D); // 本日, 京都で仕事する場合. dp[i][1] = max(dp[i - 1][0] + k - D, dp[i - 1][1] + k); } // for(int i = 1; i <= N; i++){ // for(int j = 0; j < 2; j++){ // cout << dp[i][j] << " "; // } // cout << endl; // } // 3. 出力. LL ans = max(dp[N][0], dp[N][1]); cout << ans << endl; return 0; }