311039: CF1925C. Did We Get Everything Covered?

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

C. Did We Get Everything Covered?time limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard output

You are given two integers $n$ and $k$ along with a string $s$.

Your task is to check whether all possible strings of length $n$ that can be formed using the first $k$ lowercase English alphabets occur as a subsequence of $s$. If the answer is NO, you also need to print a string of length $n$ that can be formed using the first $k$ lowercase English alphabets which does not occur as a subsequence of $s$.

If there are multiple answers, you may print any of them.

Note: A string $a$ is called a subsequence of another string $b$ if $a$ can be obtained by deleting some (possibly zero) characters from $b$ without changing the order of the remaining characters.

Input

The first line of input contains a single integer $t \, (1 \le t \le 10^5)$, the number of test cases.

The first line of each test case contains $3$ integers $n \, (1 \le n \le 26), \: k \, (1 \le k \le 26), \: m \, (1 \le m \le 1000)$, where $n$ and $k$ are the same as described in the input and $m$ is the length of the string $s$.

The second line of each test case contains a single string $s$ of length $m$, comprising only of the first $k$ lowercase English alphabets.

It is guaranteed that the sum of $m$ and the sum of $n$ over all test cases does not exceed $10^6$.

Output

For each test case, print YES if all possible strings of length $n$ that can be formed using the first $k$ lowercase English alphabets occur as a subsequence of $s$, else print NO.

If your answer is NO, print a string of length $n$ that can be formed using the first $k$ lowercase English alphabets which does not occur as a subsequence of $s$ in the next line.

You may print each letter of YES or NO in any case (for example, YES, yES, YeS will all be recognized as a positive answer).

ExampleInput
3
2 2 4
abba
2 2 3
abb
3 3 10
aabbccabab
Output
YES
NO
aa
NO
ccc
Note

For the first test case, all possible strings (aa, ab, ba, bb) of length $2$ that can be formed using the first $2$ English alphabets occur as a subsequence of abba.

For the second test case, the string aa is not a subsequence of abb.

Output

题目大意:
给你两个整数n和k以及一个字符串s。你需要检查所有长度为n的可能字符串(由前k个小写英文字母组成)是否都是s的子序列。如果答案是否定的,你还需要输出一个长度为n的、由前k个小写英文字母组成的字符串,该字符串不是s的子序列。

输入数据格式:
第一行输入一个整数t(1≤t≤10^5),表示测试用例的数量。
每个测试用例的第一行包含3个整数n(1≤n≤26), k(1≤k≤26), m(1≤m≤1000),其中n和k如上所述,m是字符串s的长度。
每个测试用例的第二行包含一个长度为m的字符串s,由前k个小写英文字母组成。
保证所有测试用例的m和n的总和不超过10^6。

输出数据格式:
对于每个测试用例,如果所有长度为n的可能字符串都是s的子序列,则输出YES,否则输出NO。
如果你的答案是NO,请在下一行输出一个长度为n的、由前k个小写英文字母组成的字符串,该字符串不是s的子序列。
YES和NO的大小写不敏感。题目大意: 给你两个整数n和k以及一个字符串s。你需要检查所有长度为n的可能字符串(由前k个小写英文字母组成)是否都是s的子序列。如果答案是否定的,你还需要输出一个长度为n的、由前k个小写英文字母组成的字符串,该字符串不是s的子序列。 输入数据格式: 第一行输入一个整数t(1≤t≤10^5),表示测试用例的数量。 每个测试用例的第一行包含3个整数n(1≤n≤26), k(1≤k≤26), m(1≤m≤1000),其中n和k如上所述,m是字符串s的长度。 每个测试用例的第二行包含一个长度为m的字符串s,由前k个小写英文字母组成。 保证所有测试用例的m和n的总和不超过10^6。 输出数据格式: 对于每个测试用例,如果所有长度为n的可能字符串都是s的子序列,则输出YES,否则输出NO。 如果你的答案是NO,请在下一行输出一个长度为n的、由前k个小写英文字母组成的字符串,该字符串不是s的子序列。 YES和NO的大小写不敏感。

加入题单

上一题 下一题 算法标签: