#CF1936C. C. 宝可梦竞技场

C. 宝可梦竞技场

每次测试的时间限制33
每次测试的内存限制512512 兆字节

你身处一个决斗竞技场。你拥有 nn 只宝可梦。初始时,只有第 11 只宝可梦站在竞技场中。

每只宝可梦都有 mm 个属性。第 ii 只宝可梦的第 jj 个属性为 ai,ja_{i,j}。每只宝可梦还有雇佣费用:第 ii 只宝可梦的费用为 cic_i

你想要让第 nn 只宝可梦站在竞技场中。为此,你可以按任意顺序执行任意次以下两种操作:

  • 选择三个整数 i,j,ki, j, k1in1 \le i \le n1jm1 \le j \le mk>0k > 0),将 ai,ja_{i,j} 永久增加 kk。此操作的代价为 kk
  • 选择两个整数 i,ji, j1in1 \le i \le n1jm1 \le j \le m),并雇佣第 ii 只宝可梦,让它基于第 jj 个属性与当前竞技场中的宝可梦进行决斗。如果 ai,ja_{i,j} 大于或等于 当前竞技场中宝可梦的第 jj 个属性,则第 ii 只宝可梦获胜(否则失败)。决斗后,只有获胜者留在竞技场中。此操作的代价为 cic_i

求出使第 nn 只宝可梦站在竞技场中所需支付的最小总代价。

输入

每个测试点包含多个测试用例。第一行包含测试用例的数量 tt1t1051 \le t \le 10^5)。接下来是每个测试用例的描述。

每个测试用例的第一行包含两个整数 nnmm2n41052 \le n \le 4 \cdot 10^51m21051 \le m \le 2 \cdot 10^52nm41052 \le n \cdot m \le 4 \cdot 10^5)。

第二行包含 nn 个整数 c1,c2,,cnc_1, c_2, \ldots, c_n1ci1091 \le c_i \le 10^9)。

接下来的 nn 行中的第 ii 行包含 mm 个整数 ai,1,ai,2,,ai,ma_{i,1}, a_{i,2}, \ldots, a_{i,m}1ai,j1091 \le a_{i,j} \le 10^9)。

保证所有测试用例的 nmn \cdot m 之和不超过 41054 \cdot 10^5

输出

对于每个测试用例,输出使第 nn 只宝可梦站在竞技场中所需的最小代价。

示例

输入

4  
3 3  
2 3 1  
2 9 9  
6 1 7  
1 2 1  
3 3  
2 3 1  
9 9 9  
6 1 7  
1 2 1  
4 2  
2 8 3 5  
18 24  
17 10  
1 10  
1 1  
6 3  

21412674  3212925  172015806  250849370  306960171  333018900  
950000001  950000001  950000001  
821757276  783362401  760000001  
570000001  700246226  600757652  
380000001  423513575  474035234  
315201473  300580025  287023445  
1 1 1  

输出

2  
6  
17  
1224474550  

注释

在第一个测试用例中,初始站在竞技场中的第 11 只宝可梦的属性数组为 [2,9,9][2, 9, 9]

  • 第一次操作:选择 i=3i = 3j=1j = 1k=1k = 1,将 a3,1a_{3,1} 永久增加 11。现在第 33 只宝可梦的属性数组变为 [2,2,1][2, 2, 1]。此操作代价为 k=1k = 1
  • 第二次操作:选择 i=3i = 3j=1j = 1,雇佣第 33 只宝可梦,基于第 11 个属性与当前宝可梦决斗。由于 ai,j=a3,1=22=a1,1a_{i,j} = a_{3,1} = 2 \ge 2 = a_{1,1},第 33 只宝可梦获胜。此操作代价为 c3=1c_3 = 1

因此,我们以总代价 22 使第 33 只宝可梦站在竞技场中。可以证明 22 是最小可能值。

在第二个测试用例中,初始站在竞技场中的第 11 只宝可梦的属性数组为 [9,9,9][9, 9, 9]

  • 第一次操作:选择 i=2i = 2j=3j = 3k=2k = 2,将 a2,3a_{2,3} 永久增加 22。现在第 22 只宝可梦的属性数组变为 [6,1,9][6, 1, 9]。此操作代价为 k=2k = 2
  • 第二次操作:选择 i=2i = 2j=3j = 3,雇佣第 22 只宝可梦,基于第 33 个属性与当前宝可梦决斗。由于 ai,j=a2,3=99=a1,3a_{i,j} = a_{2,3} = 9 \ge 9 = a_{1,3},第 22 只宝可梦获胜。此操作代价为 c2=3c_2 = 3
  • 第三次操作:选择 i=3i = 3j=2j = 2,雇佣第 33 只宝可梦,基于第 22 个属性与当前宝可梦决斗。由于 ai,j=a1,2=21=a2,2a_{i,j} = a_{1,2} = 2 \ge 1 = a_{2,2},第 33 只宝可梦获胜。此操作代价为 c3=1c_3 = 1

因此,我们以总代价 66 使第 33 只宝可梦站在竞技场中。可以证明 66 是最小可能值。