#1338. 序列选数

序列选数

题目描述

nn 个序列,每个序列有 mm 个数。

现需要从每个序列中选出一个数,在这些数中最大值和最小值的差值不超过 dd 的情况下,使他们的和最大。

输入格式

第一行,两个整数 n,m,dn, m,d1nm2×1051 \le nm \le 2 \times 10^50d1040 \le d \le 10^4)。

接下来 nn 行,每行 mm 个数,a1,a2,,ama_1, a_2, \dots,a_m0ai1090 \le a_i \le 10^9)表示一个序列。

输出格式

如果不存在合法的选择方式,输出 No solution。否则输出一个整数,表示在所选数最大值和最小值的差值不超过 dd 的情况下,和最大是多少。

输入样例

3 5 1
9 5 0 4 6
6 4 0 0 7
1 9 1 7 10

输出样例

20

样例说明

33 个序列中分别选择 6,7,76, 7, 7 即可。

子任务

20%20\% 的数据满足 nm5000nm \le 5000

另有 20%20\% 的数据满足 n=2n=2

另有 20%20\% 的数据满足 d=0d=0

另有 20%20\% 的数据满足 n=10n=10

对于所有的测试数据,满足 1nm2×1051 \le nm \le 2 \times 10^50d1040 \le d \le 10^40ai1090 \le a_i \le 10^9