Bajtocki 总理正沿着 Bajtocja 的主干道前往拜访他所在党派的一名议员,电视台正在密切跟踪报道这次行程。总理出发时油箱是满的,他完全可以在不加油的情况下跑完全程。然而,他决定在电视上展示自己亲自加油的过程,因为他认为这有助于改善他的公众形象。
高速公路沿线每隔一单位距离就有一座加油站。每座加油站都属于 $m$ 个连锁网络中的一个。总理希望在尽可能多的加油站加油。他的顾问建议,如果在连续 $k$ 次加油中,有两次是在属于同一个连锁网络的加油站进行的,那么这可能会被视为对该网络的过度偏袒。总理不惜一切代价想要避免这种公关失误。
给定沿高速公路分布的加油站所属的网络编号以及参数 $k$,请计算满足顾问建议条件的最长加油站序列长度。
输入格式
输入的第一行包含三个整数 $n, m$ 和 $k$ ($1 \le n, m \le 10\,000, 2 \le k \le 5$),分别表示加油站的数量、连锁网络的数量以及顾问给出的参数。第二行包含一个由 $n$ 个整数组成的序列 $a_i$ ($1 \le a_i \le m$),其中第 $i$ 个数表示第 $i$ 座加油站所属的网络编号。
输出格式
输出一行,包含一个正整数 $t$,表示满足在任意连续 $k$ 次加油中,不会出现两次属于同一网络加油站的条件下的最大加油次数。
样例
样例输入 1
8 4 3 1 1 2 1 3 4 4 2
样例输出 1
5
说明
样例解释:在此情况下,任意连续 $k=3$ 次加油中,不能有两次属于同一网络。可以通过选择编号为 2, 3, 5, 6, 8 的加油站来实现 5 次加油,它们分别属于网络 1, 2, 3, 4, 2。
子任务
测试集分为以下子任务。每个子任务的测试用例由一组或多组独立的测试数据组成。
| 子任务 | 数据范围 | 分值 |
|---|---|---|
| 1 | $k = 2$ | 10 |
| 2 | $k = 3$ | 22 |
| 3 | $k = 4$ | 23 |
| 4 | $k = 5, m \le 10, n \le 100$ | 21 |
| 5 | 无额外限制 | 24 |