C. 加密通信(comm)

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较

题目描述

蒜头君最近学习了密码学的课程,看着那些高级的加密算法,他立志也要设计出一个自己的加密算法。

他灵机一动,打算将自己心里想好的一个整数藏在一个由 0 ~ 9组成的数字串s中,如0011222332233.

怎么解密呢?蒜头君会告诉你一个整数k作为解码的钥匙,你要在s中找到出现至少k次的最长特殊字符串,这个特殊字符串的长度即为解码后的答案。

其中,特殊字符串指的是仅由单一字符构成的字符串。 例如,00和111都是特殊字符串,121 不是特殊字符串。

并且2222可以看作特殊字符串222出现了两次: 2222, 2222。也就是说,特殊字符串的计数可以重叠。

特别地,如果不存在出现至少k次的特殊字符串,说明蒜头君还没想好要藏哪个整数,答案就是 -1。

输入格式

第一行一个正整数T,为蒜头君给出的测试用例个数。

每个测试用例的第一行两个整数 n, k,分别表示字符串s的长度和解码的钥匙数值。

每个测试用例的第二行一个长度为 n 的字符串s (仅包含0~9中的数字)。

输出格式

输出一行个整数。 若不存在出现至少k次的特殊字符串,输出-1;

否则输出至少出现k次的最长特殊字符串长度。

样例

样例输入1

5
8 2
11111222
7 4
1234567
3 3
999
12 3
666655555666
8 3
88888888

样例输出1

4
-1
1
3
6

数据范围与提示