// #pragma GCC optimize ("Ofast") // #pragma GCC optimize ("unroll-loops") // #pragma GCC target ("avx,avx2,fma") #include using std::cin, std::cout, std::cerr; using ll = long long; int main() { std::ios::sync_with_stdio(false); int n, d; cin >> n >> d; std::vector f = {0, int(-1e9)}; while(n --) { std::vector g(2); int t, k; cin >> t >> k; g[0] = std::max(f[0], f[1] - d) + t; g[1] = std::max(f[1], f[0] - d) + k; f = g; } cout << std::max(f[0], f[1]) << '\n'; }