#include<iostream> #include<cstdio> using namespace std; inline int read(){ int x=0,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();} return x*f; } int n,r,mx,my,ans,f[5005][5005]; int main(){ n=read();r=read(); for(int i=1;i<=n;i++){ int x=read(),y=read(),v=read(); f[x+1][y+1]=v; mx=max(x+1,mx);my=max(y+1,my); } mx=min(mx+r,5001);my=min(my+r,5001); for(int i=1;i<=mx;i++) for(int j=1;j<=my;j++){ f[i][j]+=f[i-1][j]+f[i][j-1]-f[i-1][j-1]; if(i>=r&&j>=r)ans=max(ans,f[i][j]-f[i-r][j]-f[i][j-r]+f[i-r][j-r]); } printf("%d",ans); return 0; }