Split it!
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.
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$$$.
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).
import math
from math import ceil, floor, gcd, inf, sqrt
from collections import Counter, defaultdict
import heapq, bisect
import sys
for tests in range(int(input())):
    (n, k) = map(int, input().split())
    s = input()
    if k == 0:
        print('YES')
    else:
        cur = s[:k] + s[n - k:n]
        cur2 = cur[::-1]
        if cur == cur2 and 2 * k != n:
            print('YES')
        else:
            print('NO')
I = input
exec(int(I()) * "n,k=map(int,I().split());s=I();print('YNEOS'[s[:k]!=s[:~k:-1]or 2*k==n::2]);")
I = input
exec(int(I()) * "n,k=map(int,I().split());s=I();print('YNEOS'[s[:k]!=s[:~k:-1]or 2*k==n::2]);")