#include <bits/stdc++.h>
using namespace std;
using T = long long;
T n,k;
vector<T>A;
T f(vector<vector<T>>S,T i){
    if (i==n){
        T z=0;
        for (T j=0;j<k;j++){
            if (S[j][1]==0) return 0;
            z+=S[j][0];
        }
        return z;
    }
    T z=0;
    vector <vector <T>> D(k,vector<T>(2));
    for (T j=0;j<k;j++){
        D[j][0]=S[j][0];
        D[j][1]=S[j][1];
    }
    for (T j=0;j<k;j++){
        D[j][1]+=1;
        D[j][0]=max(D[j][0],A[i]+D[j][1]);
        z=max(z,f(D,i+1));
        D[j][1]=S[j][1];
        D[j][0]=S[j][0];
    }
    return z;


}



int main() {
    ios::sync_with_stdio(0);
    cout.tie();
    cin.tie();
    cin >> n >> k;
    A.resize(n);
    for (T i=0;i<n;i++){
        cin >> A[i];
    }
    cout << f(vector<vector<T>>(k,vector<T>(2,0)),0);
    return 0;
}
