#include <iostream>
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e6+5;
int main(){
    ios_base::sync_with_stdio(false); 
    cin.tie(NULL); 
    int t;
    cin>>t;
    while(t--){
        int n,k;
        cin>>n>>k;
        string s;
        cin>>s;
        s = '#'+s;
        if(k==0){
            cout<<"YES"<<endl;
            continue;
        }
        if(n%2){
            int i1 = n/2;
            int j1 = (n/2)+2;
            bool ok = false;
            while(i1){
                string str1 = "";
                string str2 ="";
                
                for(int i=1;i<=i1;i++){
                    str1+=s[i];
                }
                for(int j=n;j>=j1;j--){
                    str2+=s[j];
                }
                
                if(str1==str2 && (int)str1.length()>=k){
                    cout<<"YES"<<endl;
                    ok = true;
                    break;
                }
                i1--;
                j1++;
            }
            if(!ok){
                cout<<"NO"<<endl;
            }
        }else{
            int i1 = (n/2)-1;
            int j1 = (n/2)+2;
            bool ok = false;
            while(i1){
                string str1 = "";
                string str2 ="";
                
                for(int i=1;i<=i1;i++){
                    str1+=s[i];
                }
                for(int j=n;j>=j1;j--){
                    str2+=s[j];
                }
                
                if(str1==str2 && (int)str1.length()>=k){
                    cout<<"YES"<<endl;
                    ok = true;
                    break;
                }
                i1--;
                j1++;
                
            }
            
            if(!ok){
                cout<<"NO"<<endl;
            }
        }
    }
}
### Prompt

Generate a cpp solution to the following problem:

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+… +a_k+a_{k+1}+R(a_k)+R(a_{k-1})+…+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.

Input

The input consists of multiple test cases. The first line contains a single integer t (1≤ t≤ 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≤ n≤ 100, 0≤ k≤ ⌊ n/2 ⌋) — 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.

Output

For each test case, print "YES" (without quotes), if it is possible to find a_1,a_2,…,a_{k+1}, and "NO" (without quotes) otherwise.

You can print letters in any case (upper or lower).

Example

Input


7
5 1
qwqwq
2 1
ab
3 1
ioi
4 2
icpc
22 0
dokidokiliteratureclub
19 8
imteamshanghaialice
6 3
aaaaaa


Output


YES
NO
YES
NO
YES
NO
NO

Note

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.

### Response

```cpp
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e6+5;
int main(){
    ios_base::sync_with_stdio(false); 
    cin.tie(NULL); 
    int t;
    cin>>t;
    while(t--){
        int n,k;
        cin>>n>>k;
        string s;
        cin>>s;
        s = '#'+s;
        if(k==0){
            cout<<"YES"<<endl;
            continue;
        }
        if(n%2){
            int i1 = n/2;
            int j1 = (n/2)+2;
            bool ok = false;
            while(i1){
                string str1 = "";
                string str2 ="";
                
                for(int i=1;i<=i1;i++){
                    str1+=s[i];
                }
                for(int j=n;j>=j1;j--){
                    str2+=s[j];
                }
                
                if(str1==str2 && (int)str1.length()>=k){
                    cout<<"YES"<<endl;
                    ok = true;
                    break;
                }
                i1--;
                j1++;
            }
            if(!ok){
                cout<<"NO"<<endl;
            }
        }else{
            int i1 = (n/2)-1;
            int j1 = (n/2)+2;
            bool ok = false;
            while(i1){
                string str1 = "";
                string str2 ="";
                
                for(int i=1;i<=i1;i++){
                    str1+=s[i];
                }
                for(int j=n;j>=j1;j--){
                    str2+=s[j];
                }
                
                if(str1==str2 && (int)str1.length()>=k){
                    cout<<"YES"<<endl;
                    ok = true;
                    break;
                }
                i1--;
                j1++;
                
            }
            
            if(!ok){
                cout<<"NO"<<endl;
            }
        }
    }
}
```