#include<bits/stdc++.h>
#define un unsigned
using namespace std;
const int N=5e3+10;
un int p,k,n,m,ans,ac;
un int a[N][N];
int main()
{
scanf("%d%d",&p,&k);
for(un int i=1;i<=p;i++){
un int x,y,v;
scanf("%d%d%d",&x,&y,&v);
a[x+1][y+1]+=v;
n=max(n,x+1);m=max(m,y+1);ac=max(ac,v);
}
for(un int i=1;i<=n;i++){
for(un int j=1;j<=m;j++){
a[i][j]=a[i-1][j]+a[i][j-1]-a[i-1][j-1]+a[i][j];
}
}
if(k==1){
printf("%d\n",ac);
return 0;
}
k-=1;
for(un int i=1;i+k<=n;i++){
for(un int j=1;j+k<=m;j++){
ans=max(ans,a[i+k][j+k]-a[i-1][j+k]-a[i+k][j-1]+a[i-1][j-1]);
}
}
printf("%d\n",ans);
return 0;
}