#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long n, h;
  cin >> n >> h;
  vector<pair<long long int, long long int> > v;
  long long x, y;
  for (int i = 0; i < n; i++) {
    cin >> x >> y;
    v.push_back(make_pair(x, y));
  }
  sort((v).begin(), (v).end());
  long long sum = 0;
  vector<long long int> v1;
  for (int i = 0; i < n - 1; i++) {
    sum += (v[i + 1].first - v[i].second);
    v1.push_back(sum);
  }
  long long t, res, ans = 0;
  vector<long long int>::iterator it;
  for (int i = 0; i < n - 1; i++) {
    if (i != 0)
      t = h + v1[i - 1];
    else
      t = h;
    it = lower_bound((v1).begin(), (v1).end(), t);
    x = it - v1.begin();
    res = t - v1[x - 1];
    t = res + v[x].second - v[i].first;
    ans = max(ans, t);
  }
  ans = max(ans, v[n - 1].second - v[n - 1].first + h);
  cout << ans;
}
