#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int maxn=(int)3e3+2;
ll pre_sum[maxn];
int n,k;
ll dp[302][302][302];
ll calc(int l,int r,int k)
{
if(k==0) return 0;
if(dp[l][r][k]!=-1) return dp[l][r][k];
ll &res=dp[l][r][k];
for(int i=l;i<r;++i)
{
ll val=(pre_sum[i]-pre_sum[l-1])*(pre_sum[r]-pre_sum[i]);
for(int j=0;j<k;++j)
{
res=max(res,calc(l,i,j)+calc(i+1,r,k-1-j)+val);
}
}
return res;
}
int main()
{
freopen("DIVPART.INP","r",stdin);
freopen("DIVPART.OUT","w",stdout);
ios_base::sync_with_stdio(0);cin.tie(0);
cin>>n>>k;
for(int i=1;i<=n;++i)
{
int x;
cin>>x;
pre_sum[i]=pre_sum[i-1]+x;
}
if(n<=3e2)
{
for(int i=1;i<=n;++i) for(int j=i;j<=n;++j)
for(int x=1;x<=k;++x) dp[i][j][x]=-1;
cout<<calc(1,n,k);
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBsbCBsb25nIGxvbmcgCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBtYXhuPShpbnQpM2UzKzI7CmxsIHByZV9zdW1bbWF4bl07CmludCBuLGs7CmxsIGRwWzMwMl1bMzAyXVszMDJdOwpsbCBjYWxjKGludCBsLGludCByLGludCBrKQp7CiAgICBpZihrPT0wKSByZXR1cm4gMDsKICAgIGlmKGRwW2xdW3JdW2tdIT0tMSkgcmV0dXJuIGRwW2xdW3JdW2tdOwogICAgbGwgJnJlcz1kcFtsXVtyXVtrXTsKICAgIGZvcihpbnQgaT1sO2k8cjsrK2kpCiAgICB7CiAgICAgICAgbGwgdmFsPShwcmVfc3VtW2ldLXByZV9zdW1bbC0xXSkqKHByZV9zdW1bcl0tcHJlX3N1bVtpXSk7CiAgICAgICAgZm9yKGludCBqPTA7ajxrOysraikKICAgICAgICB7CiAgICAgICAgICAgIHJlcz1tYXgocmVzLGNhbGMobCxpLGopK2NhbGMoaSsxLHIsay0xLWopK3ZhbCk7CiAgICAgICAgfQogICAgfQogICAgcmV0dXJuIHJlczsgCiAgICAKfQppbnQgbWFpbigpCnsKICAgIGZyZW9wZW4oIkRJVlBBUlQuSU5QIiwiciIsc3RkaW4pOwogICAgZnJlb3BlbigiRElWUEFSVC5PVVQiLCJ3IixzdGRvdXQpOwogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTtjaW4udGllKDApOwogICAgY2luPj5uPj5rOwogICAgZm9yKGludCBpPTE7aTw9bjsrK2kpCiAgICB7CiAgICAgICAgaW50IHg7CiAgICAgICAgY2luPj54OwogICAgICAgIHByZV9zdW1baV09cHJlX3N1bVtpLTFdK3g7IAogICAgfQogICAgaWYobjw9M2UyKSAKICAgIHsKICAgICAgICBmb3IoaW50IGk9MTtpPD1uOysraSkgZm9yKGludCBqPWk7ajw9bjsrK2opCiAgICAgICAgZm9yKGludCB4PTE7eDw9azsrK3gpIGRwW2ldW2pdW3hdPS0xOwogICAgICAgIGNvdXQ8PGNhbGMoMSxuLGspOwogICAgfQogICAgcmV0dXJuIDA7IAp9