#include<bits/stdc++.h>
using namespace std;

#define LL               long long int
#define IM               INT_MAX
#define Im               INT_MIN
#define fast             ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define read             freopen("input.txt", "r", stdin)
#define write            freopen("output.txt", "w", stdout)
#define pb(x)            push_back(x)
#define all(v)           sort(v.begin(),v.end())
#define rall(v)          sort(v.rbegin(),v.rend())
#define rev(v)           reverse(v.begin(),v.end())
#define ff               first
#define ss               second
#define mod              1000000007
#define lcm(a, b)        ((a)*((b)/gcd(a,b)))
#define INF              1e18

//template<class T>inline bool rd(T &x){int c=getchar();int sgn=1;while(~c&&c<'0'||c>'9'){if(c=='-')sgn=-1;c=getchar();}for(x=0;~c&&'0'<=c&&c<='9';c=getchar())x=x*10+c-'0'; x*=sgn; return ~c;}

//const int dx[]={+0,+0,+1,-1,-1,+1,-1,+1};
//const int dy[]={-1,+1,+0,+0,+1,+1,-1,-1};

void solve()
{

    string c;

    int k,n;

    cin>>n>>k;

    cin>>c;

    n=c.size();


    int i=0,j=n-1,co=0;

    while(i<j && co<k){
        if(c[i]==c[j])i++,j--,co++;
        else break;
    }


    co*=2;

    if(co<n && co==2*k)cout<<"YES"<<endl;
    else cout<<"NO"<<endl;
}


int main()
{

    fast;

    int t;
    cin>>t;

    while(t--)
        solve();


    return 0;
}
