#include <iostream>
#include <vector>

using namespace std;

#define int long long

int n, m;
vector<int> a;

long long ans=0;

void f(vector<int> &tec)
{
    vector<bool> w(m, 0);
    for(int i=0; i<n; ++i){
        w[tec[i]]=1;
    }
    for(int i=0; i<m; ++i){
        if(!w[i]){
            return;
        }
    }

    vector<int> e(m, 0);
    vector<int> mz(m, 0);
    vector<int> p(m, 0);
    for(int i=0; i<n; ++i){
        int y=tec[i];
        ++e[y];
        if(a[i]>=mz[y]){
            p[y]=e[y]+a[i];
            mz[y]=a[i];
        }
    }
    long long a1=0;
    for(int i=0; i<m; ++i){
        a1+=p[i];
    }
    ans=max(ans, a1);
}

void pere(int i, vector<int> &tec)
{
    if(i==n){
        f(tec);
        return;
    }

    for(int j=0; j<m; ++j){
        tec[i]=j;
        pere(i+1, tec);
    }
}
signed main()
{
    cin>>n>>m;
    a.resize(n);
    for(int i=0; i<n; ++i){
        cin>>a[i];
    }

    vector<int> tec(n);
    pere(0, tec);

    cout<<ans;

    return 0;
}
