#include <bits/stdc++.h>

#define ll long long
#define vl vector<ll>
#define pl pair<ll,ll>
#define pb push_back
#define all(x) x.begin(),x.end()

using namespace std;
const ll N=10;
ll dp[1<<N][N],val[1<<N];
void solve()
{
	ll n,k;
	cin>>n>>k;
	vl a(n);
	for(auto&i:a)cin>>i;
	for(int m=0;m<(1<<n);m++)
	{
		int p=0;
		for(int j=0;j<n;j++)
		{
			if((m>>j)&1)
			{
				p++;
				val[m]=max(val[m],a[j]+p);
			}
		}
		for(int i=0;i<=k;i++)
		{
			dp[m][i]=-1e17;
		}
	}
	dp[(1<<n)-1][0]=0;
	for(int i=0;i<k;i++)
	{
		for(int m=0;m<(1<<n);m++)
		{
			for(int sb=m;sb>0;sb=(sb-1)&m)
			{
				dp[m^sb][i+1]=max(dp[m^sb][i+1],dp[m][i]+val[sb]);	
			}
		}
	}
	cout<<dp[0][k]<<endl;
}

int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int t=1;
	// cin>>t;
	while(t--)
	{
		solve();
	}
}