A. Split it!
brute force; constructive algorithms; greedy; strings
Kawashiro Nitori is a girl who loves competitive programming.One day she found a string and an integer. As an advanced problem setter, she quickly thought of a problem.Given a string \(s\) and a parameter \(k\), you need to check if there exist \(k+1\) non-empty strings \(a_1,a_2...,a_{k+1}\), such that $$$\(s=a_1+a_2+\ldots +a_k+a_{k+1}+R(a_k)+R(a_{k-1})+\ldots+R(a_{1}).\)\( Here \)+\( represents concatenation. We define \)R(x)\( as a reversed string \)x\(. For example \)R(abcd) = dcba\(. Note that in the formula above the part \)R(a_{k+1})$$$ is intentionally skipped.
The input consists of multiple test cases. The first line contains a single integer \(t\) (\(1\le t\le 100\)) — the number of test cases. The description of the test cases follows.The first line of each test case description contains two integers \(n\), \(k\) (\(1\le n\le 100\), \(0\le k\le \lfloor \frac{n}{2} \rfloor\)) — the length of the string \(s\) and the parameter \(k\).The second line of each test case description contains a single string \(s\) of length \(n\), consisting of lowercase English letters.
For each test case, print ""YES"" (without quotes), if it is possible to find \(a_1,a_2,\ldots,a_{k+1}\), and ""NO"" (without quotes) otherwise.You can print letters in any case (upper or lower).
In the first test case, one possible solution is \(a_1=qw\) and \(a_2=q\).In the third test case, one possible solution is \(a_1=i\) and \(a_2=o\).In the fifth test case, one possible solution is \(a_1=dokidokiliteratureclub\).