#include<bits/stdc++.h>
using namespace std;
int n,m,xm,ym,mp[5010][5010];
void read(int &x){
x=0;
int f=1;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-') f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x=x*10+ch-'0';
ch=getchar();
}
x=x*f;
}
int main(){
read(n); read(m);
xm=ym=m;
for(int i=1;i<=n;i++){
int x,y,v;
read(x); read(y); read(v);
mp[x][y]=v;
xm=max(x,xm); ym=max(y,ym);
}
for(int i=1;i<=xm;i++)
for(int j=1;j<=ym;j++)
mp[i][j]=mp[i][j]+mp[i-1][j]+mp[i][j-1]-mp[i-1][j-1];
int mx=0;
for(int i=1;i<=xm-m+1;i++)
for(int j=1;j<=ym-m+1;j++)
mx=max(mp[i+m-1][j+m-1]+mp[i-1][j-1]-mp[i+m-1][j-1]-mp[i-1][j+m-1],mx);
printf("%d\n",mx);
return 0;
}