#arc0243. [arc024_3]だれじゃ

[arc024_3]だれじゃ

问题描述

Takahashi市的居民非常喜欢双关语,在Takahashi市生活需要具备高级的双关语能力。

在Takahashi市的居民之间,向新搬来的人提出各种双关语已成为一种习惯。最近在Takahashi市流行起了一种叫做“变位词双关语”的东西。“变位词双关语”是指在一篇文章中,对于两个没有共同部分的长度相等的字符串,将其中一个字符串重新排列后得到另一个字符串。如果这个字符串的长度为mm,则称此文章包含长度为mm的“变位词双关语”。

例如,考虑一句话“だじゃれをいったのはだれじゃ”(这是谁说的双关语),从首字母开始的长度为4的字符串“だじゃれ”和从末尾开始的长度为4的字符串“だれじゃ”是没有共同部分的,并且将“だじゃれ”重新排列后得到“だれじゃ”,因此可以说这句话包含长度为4的“变位词双关语”。

刚搬到Takahashi市的Aoki想要掌握“变位词双关语”的能力,以便在Takahashi市上流动自如。因为Aoki不擅长发现长度为KK的“变位词双关语”,所以决定通过使用文章生成软件来进行特训。

然而,文章生成软件并没有判定是否包含长度为KK的“变位词双关语”的功能。

你需要为Aoki编写一个程序来判断是否包含长度为KK的“变位词双关语”。


输入

输入以以下格式从标准输入给出:

NN KK SS

  • 第一行为给定文章的长度N(1N105)N (1 ≤ N ≤ 10^5) 和要求的“变位词双关语”的长度K(1KN)K (1 ≤ K ≤ N),以空格分隔。
  • 第二行为要判断的文章。该文章长度为NN,仅由小写英文字母组成。

部分分

此问题是部分分问题。

  • 如果满足条件N8N ≤ 8的数据集1有正确解,则得到15分。
  • 如果满足条件N300N ≤ 300的数据集2有正确解,则除上述分数外再加15分。
  • 如果满足条件N5,000N ≤ 5,000的数据集3有正确解,则除上述分数外再加15分。
  • 如果在附加约束下的数据集4有正确解,则除上述分数外再加55分。

输出

如果文章中包含长度为KK的“变位词双关语”,输出YES;否则输出NO,并在最后换行。


示例输入1


8 3
abcdbcae

示例输出1


YES

从首字母起,长度为3的字符串abc和从第5个字母起,长度为3的字符串bca是可以互相排列得到的,因此可以说这篇文章包含长度为3的“变位词双关语”。


示例输入2


7 4
abcdcba

示例输出2


NO

从首字母起,长度为4的字符串abcd和从第4个字母起,长度为4的字符串dcba是可以互相排列得到的,但是因为它们都使用了前4个字母,所以不满足条件。无论如何取字符串都无法满足条件。


示例输入3


8 1
issample

示例输出3


YES