#include<iostream>
#include<string.h>
#include<algorithm>
#define ll long long
using namespace std;
const int N=11000002;
const int mod=19930726;
char a[N<<1],s[N<<1];
ll sl=0,ql=0,p[N<<1],q[N<<1];
void Change(){
ll n=strlen(a);
s[sl++]='$';
for(ll i=0;i<n;i++)s[sl++]=a[i];
s[sl++]='#';
}
void Change2(){
for(ll i=0;i<sl;i++){
p[i]=(p[i]<<1)-1;
q[ql++]=p[i];
while(p[i]>1){
q[ql++]=p[i]-2;
p[i]-=2;
}
}
}
void Manacher(){
ll r=0,c;
for(ll i=1;i<sl;i++){
if(i<r)p[i]=min(p[(c<<1)-i],p[c]+c-i);
else p[i]=1;
while(s[i-p[i]]==s[i+p[i]])p[i]++;
if(p[i]+i>r){
r=p[i]+i;
c=i;
}
}
}
bool cmp(ll x,ll y){
return x>y;
}
int main(){
ll n,k;
scanf("%d%d",&n,&k);
scanf("%s",a);
Change();
Manacher();
Change2();
if(ql<k){
printf("-1\n");
return 0;
}
sort(q,q+ql,cmp);
ll u=1;
for(ll i=0;i<k;i++){
u=u*q[i];
u%=mod;
}
printf("%ld\n",u);
return 0;
}