Charlie 决定通过删除 Downloads 目录下的所有文件来开启新生活。使用 bash shell 可以轻松做到这一点!它有两个有用的功能:rm 命令,用于删除作为参数给出的所有文件;以及模式匹配,在执行命令前,模式会被替换为匹配该模式的文件列表。
Charlie 运行了 rm *,但收到了“Argument list too long”(参数列表过长)的响应。不幸的是,在 bash 将 * 替换为 Downloads 目录中所有文件的名称后,由于参数过多,命令无法执行。
经过一些实验,Charlie 意识到他可以执行 rm abc* 来删除所有以 abc 开头的文件,前提是满足条件的文件不超过 $k$ 个。如果匹配该模式的文件超过 $k$ 个,则这些文件都不会被删除。当然,他可以将 abc 替换为任何字符串。
请帮助 Charlie 找到删除所有文件所需的最少 rm 命令数量。假设他只能使用 rm <prefix>* 形式的命令,其中 <prefix> 由小写英文字母组成(也可以为空)。
输入格式
第一行包含两个整数 $n$ 和 $k$ —— 需要删除的文件数量,以及单次 rm 命令最多可以删除的文件数量 ($1 \le n, k \le 3 \cdot 10^5$)。
接下来的 $n$ 行,每行包含一个字符串,表示一个文件名。所有文件名均不相同、非空,且由小写英文字母组成。所有文件名的总长度不超过 $3 \cdot 10^5$。
输出格式
输出一个整数 —— 删除所有文件所需的最少 rm 命令数量。
样例
样例输入 1
4 2 a abc abd b
样例输出 1
2
样例输入 2
4 2 d c ab a
样例输出 2
2
样例输入 3
5 3 please remove all these files
样例输出 3
3
说明
在第一个样例测试中,Charlie 可以执行 rm ab* 来删除文件 abc 和 abd,然后执行 rm * 来删除文件 a 和 b。注意,他不能直接运行 rm *,因为最初所有四个文件都匹配空前缀。