#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define full(c) c.begin(), c.end() #define vector2d(name,type,h,w,init) vector> name(h,vector(w,init)) const int PRIME = 1000000007; const int INT_INF = 2147483647; const long long int LL_INF = 9223372036854775807; const double PI = acos(-1); const double EPS = 0.0001; typedef unsigned long long int ull; typedef long long int ll; using namespace std; int main() { //cin.tie(0); //ios::sync_with_stdio(false); ll n, d, mt = 0, mk = 0; cin >> n >> d; mk -= d; for (int i = 0; i < n; i++) { ll t, k, nt, nk; cin >> t >> k; nt = max(mt + t, mk + k - d); nk = max(mt + t - d, mk + k); mt = nt; mk = nk; } cout << max(mt, mk) << endl; return 0; }