#include <bits/stdc++.h>
using namespace std;
const int MaxN = 5e3 + 5;
int a[MaxN][MaxN], s[MaxN][MaxN];
int ans = -1;
int n, m, max_x = -1, max_y = -1;
int main() {
memset(a, 0, sizeof(a));
memset(s, 0, sizeof(s));
scanf("%d%d", &n, &m);
for (int i = 1; i <= n; i++) {
int x, y, z;
scanf("%d%d%d", &x, &y, &z);
x++, y++;
a[x][y] += z;
max_x = max(max_x, x);
max_y = max(max_y, y);
}
for (int i = 1; i <= max_x; i++) {
for (int j = 1; j <= max_y; j++) {
s[i][j] = s[i - 1][j] + s[i][j - 1] - s[i - 1][j - 1] + a[i][j];
}
}
for (int i = m; i <= max_x; i++) {
for (int j = m; j <= max_y; j++) {
int temp =
s[i][j] - s[i - m][j] - s[i][j - m] + s[i-m][j-m];
ans = max(ans, temp);
}
}
printf("%d", ans);
return 0;
}