#abc428b. [ABC428B] Most Frequent Substrings

[ABC428B] Most Frequent Substrings

题目描述

给你一个长度为 NN 的由小写字母构成的字符串 SS

定义长度为 KK 的字符串 tt出现次数为满足以下条件的整数 ii 的个数:

  • 1iNK+11\le i\le N-K+1
  • SS 的第 ii 个到第 i+K1i+K-1 个字母构成的子串和 tt 相同。

求长度为 KK 的字符串出现次数的最大值 xx。你还需要按字典序升序的顺序输出所有出现次数为 xx 的长度为 KK 的字符串。

输入格式

第一行两个整数 N,KN,K

第二行一个字符串 SS

输出格式

第一行输出一个整数,表示长度为 KK 的字符串出现次数的最大值 xx

第二行按字典序升序的顺序输出所有出现次数为 xx 的长度为 KK 的字符串,用空格隔开。

输入输出样例 #1

输入 #1

9 3
ovowowovo

输出 #1

2
ovo owo

输入输出样例 #2

输入 #2

9 1
ovowowovo

输出 #2

5
o

输入输出样例 #3

输入 #3

35 3
thequickbrownfoxjumpsoverthelazydog

输出 #3

2
the

说明/提示

数据范围

  • N,KN,K 为整数
  • SS 是一个长度为 NN 的由小写字母构成的字符串
  • 1KN1001\le K\le N\le 100

样例 1 解释

以下两个字符串出现了两次:

  • 对于字符串 ovoi=1,7i=1,7 满足条件,所以 ovo 的出现次数为 22
  • 对于字符串 owoi=3,5i=3,5 满足条件,所以 owo 的出现次数为 22

没有长度为 33 的字符串出现了超过两次,所以最大值是 22

另外,以下是一些出现少于两次的字符串:

  • 对于字符串 vowi=2i=2 满足条件,所以 vow 的出现次数为 11
  • 对于字符串 ooo,没有 ii 满足条件,所以 ooo 的出现次数为 00