#include <iostream>
#include <algorithm>
using namespace std;
/*********全局变量*********/
unsigned long long int dp[7][42]={0};
char number[42]={0};
int N,K;
int A[42]={0};
/*********转换函数*********/
unsigned long long int transform(int i,int j){ //输出i到j位的数
long long int transformation=0;
for(;i<=j;++i){
transformation=transformation*10+A[i];
}
return transformation;
}
/*********动态规划*********/
void DP(void){
unsigned long long int temp=0;
for(int i=1;i<=K;++i){
for(int j=1;j<=N;++j){
temp=0;
for(int k=i;k<j;++k){
temp=max(temp,dp[i-1][k]*transform(k+1,j)); //状态转移方程
}
dp[i][j]=temp;
}
}
}
/*********主函数*********/
int main()
{
cin>>N>>K;
cin>>number;
for(int i=0,j=1;i<N;++i,++j){
A[j]=number[i]-'0';
dp[0][j]=dp[0][j-1]*10+A[j]; //为状态转移方程中的dp[i-1][k]做准备
}
DP();
cout<<dp[K][N];
return 0;
}