#include <bits/stdc++.h>
using namespace std;
const double pi =
    3.14159265358979323846264338327950288419716939937510582097494459230;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long n, h, i, x, y;
  cin >> n >> h;
  vector<pair<long long, long long>> v;
  vector<long long> a;
  for (i = 0; i < n; i++) {
    cin >> x >> y;
    v.push_back({x, y});
  }
  sort((v).begin(), (v).end());
  for (i = 0; i < v.size(); i++) {
    if (i == v.size() - 1) {
      a.push_back(3000000000 - v[i].second);
      break;
    }
    a.push_back(v[i + 1].first - v[i].second);
  }
  vector<long long> dis(a.size() + 1, 0);
  for (i = 1; i <= a.size(); i++) dis[i] = dis[i - 1] + a[i - 1];
  long long ans = 0;
  for (i = 0; i < v.size(); i++) {
    long long d = h + dis[i];
    long long j = lower_bound((dis).begin(), (dis).end(), d) - dis.begin();
    j--;
    long long x = d - dis[j];
    ans = max(ans, v[j].second + x - v[i].first);
  }
  cout << ans;
  return 0;
}
