#include "bits/stdc++.h" using namespace std; using ll = long long; #define mset(a,x) memset(a,x,sizeof(a)) int N, D; int T[110], K[110]; ll dp[110][2]; ll rec(int i, int d) { ll &r = dp[i][d]; if (r != -1) return r; if (i == N) return r = 0; if (d == 0) // tokyo return r = max(rec(i + 1, d) + T[i], rec(i + 1, ~d) + K[i] - D); else return r = max(rec(i + 1, d) + K[i], rec(i + 1, ~d) + T[i] - D); } int main() { cin >> N >> D; for (int i = 0; i < N; i++) scanf("%d%d", T + i, K + i); mset(dp, -1); cout << rec(0, 0) << endl; return 0; }