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