#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int n;
long long k;
if (!(cin >> n >> k)) return 0;
vector<pair<long long, long long>> a(n);
for (int i = 0; i < n; i++) {
cin >> a[i].first >> a[i].second;
}
sort(a.begin(), a.end());
long long MAx = 0;
long long crnt = 0;
int j = 0;
for (int i = 0; i < n; i++) {
while (j < n && a[j].first - a[i].first <= 2 * k) {
crnt += a[j].second;
j++;
}
MAx = max(MAx, crnt);
crnt -= a[i].second;
}
cout << MAx << "\n";
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKCiAgICBpbnQgbjsKICAgIGxvbmcgbG9uZyBrOwogICAgaWYgKCEoY2luID4+IG4gPj4gaykpIHJldHVybiAwOwoKICAgIHZlY3RvcjxwYWlyPGxvbmcgbG9uZywgbG9uZyBsb25nPj4gYShuKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgY2luID4+IGFbaV0uZmlyc3QgPj4gYVtpXS5zZWNvbmQ7CiAgICB9CiAgICAKICAgIHNvcnQoYS5iZWdpbigpLCBhLmVuZCgpKTsKCiAgICBsb25nIGxvbmcgTUF4ID0gMDsKICAgIGxvbmcgbG9uZyBjcm50ID0gMDsKICAgIGludCBqID0gMDsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIHdoaWxlIChqIDwgbiAmJiBhW2pdLmZpcnN0IC0gYVtpXS5maXJzdCA8PSAyICogaykgewogICAgICAgICAgICBjcm50ICs9IGFbal0uc2Vjb25kOwogICAgICAgICAgICBqKys7CiAgICAgICAgfQogICAgICAgIE1BeCA9IG1heChNQXgsIGNybnQpOwogICAgICAgIAogICAgICAgIGNybnQgLT0gYVtpXS5zZWNvbmQ7CiAgICB9CiAgICAKICAgIGNvdXQgPDwgTUF4IDw8ICJcbiI7CiAgICByZXR1cm4gMDsKfQ==