#include <bits/stdc++.h>
using namespace std;
int main() {
  int N, i, k, d, a, b, e, j, g, l, c;
  long long C;
  cin >> N >> C;
  long long x[N + 1], v[N + 1], f[N + 2], h[N + 2];
  x[0] = 0;
  v[0] = 0;
  for (i = 1; i <= N; i++) {
    cin >> x[i] >> v[i];
  }
  for (i = 0; i <= N; i++) {
    if (x[i] > C / 2) {
      d = i;
      break;
    }
  }
  a = 0;
  b = 0;
  g = 0;
  j = 0;
  f[d] = 0;
  for (i = 0; i < d; i++) {
    a += v[i];
    b = x[i];
    f[i] = a - b;
    if (f[i + 1] > f[i]) {
      e = f[i + 1];
      C = v[i + 1];
    } else {
      e = f[i];
      C = v[i];
    }
  }
  for (k = 0; k < N - d; k++) {
    j += v[N - k];
    g = x[N - k];
    h[k] = j - g;
    if (h[k + 1] > h[k]) {
      l = h[k + 1];
    } else {
      l = h[k];
    }
  }
  if (e > l) {
    c = e;
  } else {
    c = l;
  }
  if (c < l + e - C) {
    c = l + e - C;
  }
  cout << c << endl;
}
