#include <bits/stdc++.h>
using namespace std;

#define int long long
int const N=405;
int const inf=1e14;

// pair<int,int> dp[N][N];
int pw(int a,int b){
	if(b==0)
		return 1;
	if(b==1)
		return a;
	int p=pw(a,b/2);
	p=(p*p);
	if(b&1)
		p*=a;
	return p;
}

void solve(){
	int n,k;
	cin>>n>>k;
	int p=pw(k,n);
	// cout<<
	int arr[n];
	for (int i = 0; i < n; ++i)
		cin>>arr[i];
	int maxx=0;
	for(int i=0;i<p;i++){
		vector<int> st;
		unordered_set<int> s;
		int t=i;
		while(st.size()<n){
			st.push_back(t%k);
			s.insert(t%k);
			t/=k;
		}
		if(s.size()!=k)
			continue;
		int mx[k]={0};
		int c[k]={0};
		for (int ii = 0; ii < n; ++ii){
			c[st[ii]]++;
			mx[st[ii]]=max(mx[st[ii]],arr[ii]+c[st[ii]]);
		}
		int ans=0;
		for(int j=0;j<k;j++)
			ans+=mx[j];
		maxx=max(ans,maxx);
	}
	cout<<maxx<<endl;
}

signed main(){
	int t=1;
	// cin>>t;
	while(t--)
		solve();
	return 0;
}