给定一个包含 $m$ 行 $n$ 列的整数二维数组 $A$。维度为 $k \times k$ 的数组 $A$ 的子数组被称为其 $k$-片段。
$k$-片段的“多样性”是指其中不同元素的个数。你的任务是计算所有 $k$-片段的最大多样性,以及所有 $k$-片段多样性的总和。
输入格式
输入的第一行包含三个正整数 $m, n, k$ ($k \le \min(m, n)$),分别指定了数组 $A$ 的维度以及正方形子数组(片段)的维度。
接下来的 $m$ 行,每行包含 $n$ 个整数,列出了数组 $A$ 的内容。所有这些数字都在范围 $[1, C]$ 内,且每行内的数字由空格分隔。
输出格式
输出两个整数,中间用空格分隔:所有 $k$-片段的最大多样性,以及所有 $k$-片段多样性的总和。
样例
样例输入 1
3 5 2 1 5 3 3 3 4 1 3 3 4 4 2 4 4 3
样例输出 1
4 20
说明
样例说明:从最顶行开始,从左到右的连续 $2$-片段的多样性分别为 $3, 3, 1, 2$,而从下一行开始的 $2$-片段的多样性分别为 $3, 4, 2, 2$。
子任务
测试集由以下子任务组成。在每个子任务内,可能包含多个单元测试。
如果你的程序输出的两个数字中只有一个是正确的,你将获得该测试点一半的分数。在这种情况下,另一个数字应符合标准整数类型的范围。
| 子任务 | $m, n, k$ 的范围 | $C$ 的范围 | 分值 |
|---|---|---|---|
| 1 | $m, n, k \le 100$ | $C \le 10^5$ | 10 |
| 2 | $m, n, k \le 600$ | $C \le 100$ | 10 |
| 3 | $m, n, k \le 600$ | $C \le 10^5$ | 20 |
| 4 | $n, k \le 3000, m \le 2k$ | $C \le 10^5$ | 45 |
| 5 | $m, n, k \le 3000$ | $C \le 10^5$ | 15 |
注:在子任务 2 中,保证数组中只有 $C$ 个不同的数字,但不保证它们都在 $[1, C]$ 范围内。