#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cstring>
using namespace std;
const int N=5010;
int g[N][N];
int s[N][N];
int n,m;
int nx,ny;
int ans=0;
void qz(){
for(int i=1;i<=nx;i++){
for(int j=1;j<=ny;j++){
s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+g[i][j];
}
}
}
int main(){
cin>>n>>m;
nx=ny=m;
memset(g,0,sizeof(g));
for(int i=1;i<=n;i++){
int x,y,z;
cin>>x>>y>>z;
nx=max(nx,x+1);
ny=max(ny,y+1);
g[x+1][y+1]=z;
}
qz();
for(int i=m;i<=nx;i++){
for(int j=m;j<=ny;j++){
ans=max(ans,s[i][j]-s[i-m][j]-s[i][j-m]+s[i-m][j-m]);
}
}
cout<<ans<<endl;
return 0;
}