#include <cstdio>
typedef unsigned long long big;
big f[41][31],num[41][41];
char str[42];
int maxxx(int a,int b)
{
if (a>=b) return a;
return b;
}
int main()
{
int i,j,l;
int n,k;
scanf("%d%d",&n,&k);
scanf("%s",&str[1]);
for (i=1;i<=n;i++)
{
for (j=i;j<=n;j++)
{
num[i][j]=num[i][j-1]*10+str[j]-'0';
}
}
for (i=1;i<=n;i++) f[i][0]=num[1][i];
for (j=1;j<=k;j++)
for (i=2;i<=n;i++)
for (l=1;l<i;l++)
{
f[i][j]=maxxx(f[i][j],f[l][j-1]*num[l+1][i]);
}
printf("%I64d\n",f[n][k]);
return 0;
}
typedef unsigned long long big;
big f[41][31],num[41][41];
char str[42];
int maxxx(int a,int b)
{
if (a>=b) return a;
return b;
}
int main()
{
int i,j,l;
int n,k;
scanf("%d%d",&n,&k);
scanf("%s",&str[1]);
for (i=1;i<=n;i++)
{
for (j=i;j<=n;j++)
{
num[i][j]=num[i][j-1]*10+str[j]-'0';
}
}
for (i=1;i<=n;i++) f[i][0]=num[1][i];
for (j=1;j<=k;j++)
for (i=2;i<=n;i++)
for (l=1;l<i;l++)
{
f[i][j]=maxxx(f[i][j],f[l][j-1]*num[l+1][i]);
}
printf("%I64d\n",f[n][k]);
return 0;
}