#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
long long n, C, x[N], v[N], px[N], pv[N];
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin >> n >> C;
  for (int i = 1; i <= n; i++) cin >> x[i] >> v[i], pv[i] = pv[i - 1] + v[i];
  long long res = 0;
  for (int i = 0; i <= n; i++) {
    for (int j = 0; j <= n - i; j++) {
      long long d1 = x[i], d2 = C - x[n - j + 1];
      if (j == 0) d2 = 0;
      long long v1 = pv[i], v2 = pv[n] - pv[n - j];
      res = max(res, v1 + v2 - min(d1, d2) - d1 - d2);
    }
  }
  cout << res << '\n';
  return 0;
}
