过生日
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

今天是Bob的生日,Alice给Bob准备了精美的礼物,但是并不想让Bob轻易的拿到这份礼物,了解到Bob最近在学习字符串,于是Alice给Bob出了一道字符串题目,打算考考他。
Alice在黑板上快速的写出了一个只由小写字母组成的字符串和一个数字k,Alice想让Bob找到是否有这样一个区间,使得其中的一个字符的个数大于等于k。告诉Alice是否可以找到符合条件区间。如果可以找到请告诉Alice最短的区间长度。
正在过生日的Bob显然并不想做题但是又想拿到Alice的礼物,于是找到了你帮助他。请问你是否可以写一个程序帮助Bob。

输入描述:

第一行会给定一个t代表样例的个数(),对于每组样例会有两行输入,第一行会给出一个只由小写字母组成的字符串s,第二行会给出一个k

(|s|代表字符串的长度)

输出描述:

对于每一个样例,请输出一行,如果能找到请输出最小的区间的长度,否则输出-1。
示例1

输入

复制
4
aba
2
abc
2
abczgbnhe
2
abczgbnaegsca
3

输出

复制
3
-1
5
13