#P1184. 捕鱼

捕鱼

题目描述

由于桥牌实在是太难了,Miaoyao 又投向了一个古老的游戏——捕鱼达人。但他的游戏技术实在不好,于是希望你能帮他编写一个程序来计算出最优的游戏策略。

在这个游戏中,你需要发射一个渔网来捕获鱼,但同时也可能捞到石头。当前的画面中有 nn 件物品,每件物品可能为鱼或者石头,第 ii 件物品可以视为无限大二维平面上的一个整点 (xi,yi)(x_i, y_i),捕获它可以获得相应的得分 wiw_i(若得分小于 00 则表示该物品为石头,捞上来会扣分)。渔网可以视为一个边长为 RR 的正方形,必须平行于坐标轴放置,顶点可以位于二维平面内的任意整点。放置渔网后,在其内部及边界上的物品均会被捕捞。Miaoyao 想知道他当前释放一张渔网所能获得的最大得分是多少。特别地,如果任何撒网策略都不够好,他可以选择不释放渔网。

输入格式

第一行两个整数 nnRR,表示物品的数量与渔网的边长。

接下来 nn 行,第 ii 行包含三个整数 xix_i, yiy_i, wiw_i,表示一件物品的坐标与分值。保证不会有两件物品处于同一个位置。

输出格式

一个整数,表示 Miaoyao 的最大得分。

样例输入

5 3
0 0 10
-1 0 -5
0 3 2
1 0 -1
3 3 -3

样例输出

9

提示

1n2000001 \le n \le 200000

1R10001 \le R \le 1000

1000xi,yi1000-1000 \le x_i, y_i \le 1000

10000wi10000-10000 \le w_i \le 10000

样例解释:其中一种可行的策略是让渔网的左上角处于 (0,0)(0, 0),右上角处于 (3,0)(3, 0),左下角处于 (0,3)(0, -3),右下角处于 (3,3)(3, -3)