#include <bits/stdc++.h>
using namespace std;
unsigned short int a[5005][5005];
unsigned short int s[5005][5005];
int main(){
int m,n,x,y,v,mx=0,mn=0,x1=0,y1=0,maxn = 0;
scanf("%d%d",&n,&m);
for (int i = 1; i <= n; i++){
scanf("%d%d%d",&x,&y,&v);
a[x][y]= v;
if (x > x1) x1 = x;
if (y > y1) y1 = y;
}
for (int i = 0; i <= x1; i ++){
for (int j = 0; j <= y1; j ++){
s[i][j] = s[i-1][j] + s[i][j-1] - s[i-1][j-1] + a[i][j];
}
}
for (int i = 0; i <= x1 - m; i ++){
for (int j = 0; j <= y1 - m; j ++){
int tmp = s[i][j]-s[i+m][j]-s[i][j+m]+s[i+m][j+m];
maxn = max(maxn,tmp);
}
}
printf("%d",maxn);
return 0;
}