给定一个由 $n \times m$ 个单位正方形组成的网格。每个单位正方形中包含一个整数。在本题中,我们关注网格中的“算术矩形”,即由单位正方形组成的矩形,使得每一行和每一列中的数字都构成等差数列。回想一下,等差数列是指任意两个相邻项之差相等的序列。
此外,我们的目标是找到最大的算术矩形,即覆盖单位正方形数量最多的矩形。例如,下图中最大的算术矩形由九个单位正方形组成:
5 3 5 7 2 4 4 4 3 5 3 1 6 3 2 4
输入格式
输入的第一行包含一个整数 $t$ ($1 \le t \le 10000$),表示测试用例的数量。每个测试用例的描述以一行包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 3000$) 开始。接下来的 $n$ 行中,每行包含 $m$ 个范围在 $[0, 10^9]$ 内的整数。这些数字描述了网格。每个输入文件的大小不超过 20 MB。
输出格式
程序应输出 $t$ 行,分别为各个测试用例的答案。单个测试用例的答案是一个整数,等于在给定网格中能找到的最大的算术矩形所包含的单位正方形数量。
样例
输入格式 1
2 4 4 5 3 5 7 2 4 4 4 3 5 3 1 6 3 2 4 2 3 0 1 2 1 2 3
输出格式 1
9 6