#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> pii;
typedef long long ll;
typedef unsigned long long ull;
int a[17];
int dp[17][17][17];
int main(){
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int n,k;
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
dp[i][i][0]=a[i];
}
for(int len=2;len<=n;len++){
for(int l=1;l+len-1<=n;l++){
int r=l+len-1;
for(int t=0;t<=min(k,len-1);t++){
for(int m=l;m<r;m++){
for(int tt=0;tt<=t;tt++){
dp[l][r][t]=max(dp[l][r][t],dp[l][m][tt]+dp[m+1][r][t-tt]);
if(tt>0)dp[l][r][t]=max(dp[l][r][t],dp[l][m][tt-1]*dp[m+1][r][t-tt]);
if(t-tt>0)dp[l][r][t]=max(dp[l][r][t],dp[l][m][tt]*dp[m+1][r][t-tt-1]);
}
}
}
}
}
cout<<dp[1][n][k];
return 0;
}