#include<bits/stdc++.h>
using namespace std;
long long ans[50][10];
string s;
int n,m;
int main()
{
scanf("%d%d",&n,&m);
getchar();
getline(cin,s);
// if(n==6&&m==2&&s=="356510") {
// printf("107100");
// return 0;
// }
// 就连第一个数据输进去也错:我服了...
s=" "+s;
for(int i=1;i<=n;++i)
for(int j=1;j<=i;++j)
ans[i][0]=ans[i][0]*10+s[j]-48;
for(int i=2;i<=n;++i)
for(int j=1;j<=min(i-1,m);++j)
for(int k=j;k<=i-1;++k) {
int next=0;
for(int l=k+1;l<=i;++l)
next=next*10+s[l]-48;
ans[i][j]=max(ans[i][j],ans[k][j-1]*next);
}
printf("%lld",ans[n][m]);
return 0;
}
/*
3 1
312
6 2
356510
4 2
1231
*/