#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define all(x) (x).begin(),(x).end() #define rall(x) (x).rbegin(),(x).rend() #define rep(i,n) for(int i=0; i pi; typedef pair pl; typedef pair plc; typedef pair pss; int n, d; int t[110], k[110]; ll dp[110][110]; int main() { cin >> n >> d; rep(i, n) cin >> t[i+1] >> k[i+1]; dp[0][1] = -d; FOR(i, 1,n+1) { dp[i][0] = max(dp[i-1][0] + t[i], dp[i-1][1] + k[i] - d); dp[i][1] = max(dp[i-1][0] + t[i] -d, dp[i-1][1] + k[i]); } cout << max(dp[n][0], dp[n][1]) << endl;; return 0; }