#Lutece2858. 字符串构造

字符串构造

Migrated from Lutece 2858 字符串构造

All parts of this problem, including description, images, samples, data and checker, might be broken. If you find bugs in this problem, please contact the admins.

Description

字符串 PP 是字符串 SS 的子序列当且仅当从 SS 中删除若干字符后得到 PP,例如 aceabcde 的子序列,而 db 不是 abcde 的子序列。

字符串 PP 是字符串 SSTT 的公共子序列当且仅当 PP 既是 SS 的子序列,也是 TT 的子序列,例如 bdabcdbedf 的公共子序列。

字符串 SSTT 的最长公共子序列(LCS)即为 SSTT 的公共子序列中长度最长的。

西西有两个字符串 SSTT,长度分别为 NNMM

西西忘记 SSTT 是什么样的,不过他有一张按照 SSTT 生成的 LCS 表。LCS 表有 NNMM 列,其中第 ii 行第 jj 列保存 SSii 个字符和 TTjj 个字符的 LCS 的长度。

给定 NNMM 以及 LCS 表,你可以构造出满足条件的字符串 SSTT,不过西西只想知道 SSTT 最多包含多少种不同的字符。

Input

第一行输入一个整数 T (1T10)T\ (1\le T\le 10),表示数据组数,每组数据格式如下:

  • 第一行输入两个整数 NNM (1N,M103)M\ (1 \le N,M \le 10^3)
  • 接下来 NN 行,每行输出 MM 个整数,表示给定的 LCS 表;
  • 保证存在满足条件的字符串 SSTT

Output

对于每组数据,输出占一行,输出 SSTT 最多能包含多少种不同的字符。

Samples

1
5 5
0 1 1 1 1
0 1 1 2 2
0 1 2 2 2
0 1 2 3 3
1 1 2 3 4
4

Note

abcbddacbd 为一组合法的 SSTT 且包含的字符种数最多。

Resources

The 19th UESTC Programming Contest Preliminary