func_code_string: #include <bits/stdc++.h>   #include <stdio.h>   using namespace std;      typedef long long ll;   typedef unsigned long long ul;   #define len (int)1e5+5   #define mod (ll)(1e9+7)   #define pq(a) priority_queue< a >   #define pqd(b) priority_queue< b , vector< b > , greater< b >>   #define MP make_pair   #define v(i) vector<i>   #define p(aa,bb) pair< aa,bb>   #define pb push_back   #define pp pop_back   #define clr(a) memset((a),0,sizeof((a)))   #define rep(i,a,b) for(int i=(a);i<=(b);i++)   #define repd(i,a,b) for(ll i=(a);i>=(b);i--)   #define all(a) (a).begin(),(a).end()   #define F first   #define S second   #define ln length()   #define INF (1LL<<61)   #define co cout<<   #define ci cin>>   #define sc(a,b) scanf( %(a) ,&(b))   #define nl   n       #define fio(a,b) freopen(  a  , r ,stdin); freopen(  b , w ,stdout);   #define ios ios::sync_with_stdio(0); cin.tie(0);      ul modpow(ul x,ul n,ul m){       if(n==0) return 1UL%m;       ul u=modpow(x,n/2,m);       u = (u*u)%m;       if(n%2==1) u = (u*x)%m;       return u;   }   bool prm[len];   v(int) prm_no;   void make_prm(){       prm[0]=prm[1]=true;       for(int first=2;first<=len;first++){           if(!prm[first]){               prm_no.pb(first);               for(int second=2*first;second<=len;second+=first)prm[second]=true;           }       }   }   v(int) factor;   void make_factor(int n)   {       for(int i=1;i*i<=n;i++){           if(n%i==0){               factor.pb(i);factor.pb(n/i);               if(i*i==n)factor.pp();           }       }   }   ul pascal_tri[2][(int)105];   void make_pascalTri(int n){       bool f=0;clr(pascal_tri);       for(int i=0;i<=n;i++){           pascal_tri[f][0]=1;           for(int j=1;j<=i;j++){               pascal_tri[f][j]=pascal_tri[!f][j]+pascal_tri[!f][j-1];           }           f=!f;       }   }   int prm_div[len];   void make_prm_div(){       for(auto u:prm_no){           for(int i=u;i<=len;i+=u)prm_div[i]++;       }   }      ll gcd(ll a, ll b)   {       if (b == 0)           return a;       return gcd(b, a % b);   }   ll give_floor(ll n,ll a)   {       if(n%a==0)return n/a;       else{           return n/a+1;       }   }   bool is_perfect(ll n)   {       ll i;       for(i=1;i*i<n;i++);       return i*i==n;   }      int n,k;   void solve(){       ci n>>k;       string s;ci s;       int cnt=0;       for(int i=1;i<=(n-i);i++){           if(s[i-1]==s[n-i])cnt++;           else break;       }       if(cnt>=k and n>=2*k+1)co  YES n ;       else co  NO n ;   }      signed main(){       //ios       int t;//=1;       ci t;       while(t--){           solve();       }   }   