#include <bits/stdc++.h>
using namespace std;
long long int N, C;
long long int x[100001], rx[100001], v[100001];
long long int sum[100001], rsum[100001];
long long int max(long long int a, long long int b) { return a > b ? a : b; }
long long int min(long long int a, long long int b) { return a < b ? a : b; }
int main() {
  long long int ans = 0;
  cin >> N >> C;
  for (int i = 0; i < (N); i++) cin >> x[i + 1] >> v[i + 1];
  for (int i = 0; i < (N); i++) {
    rx[i + 1] = C - x[N - i];
    sum[i + 1] = sum[i] + v[i + 1];
    rsum[i + 1] = rsum[i] + v[N - i];
  }
  for (int i = 0; i < (N + 1); i++)
    for (int j = 0; j < (N + 1); j++) {
      if (i + j > N) break;
      long long int cal = 0;
      cal += sum[i] + rsum[j];
      cal -= x[i] + rx[j] + min(x[i], rx[j]);
      ans = max(ans, cal);
    }
  cout << ans << endl;
  return 0;
}
