n, R = map(int, input().split())
a = [[0] * (5000 + 2) for _ in range(5000 + 2)]
mx = my = R # 需要的边界
for _ in range(n):
x, y, v = map(int, input().split())
a[x + 1][y + 1] = v
mx = max(mx, x + 1)
my = max(my, y + 1)
for i in range(1, mx + 1): # 前缀和
for j in range(1, my + 1):
a[i][j] += a[i - 1][j] + a[i][j - 1] - a[i - 1][j - 1]
ans = 0
for i in range(R, mx + 1):
for j in range(R, my + 1):
ans = max(ans, a[i][j] - a[i - R][j] - a[i][j - R] + a[i - R][j - R])
print(ans)