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

int N, K;
int64_t ans;

int main(){
    cin >> N >> K;
    vector<int> V(N);
    for(int i=0;i<N;i++)    cin >> V[i];

    ans = 0;
    int R = min(N, K);
    for(int A=0;A<=R;A++){
        for(int B=0;B<=R-A;B++){
            vector<int> v;
            int64_t res = 0;
            for(int i=0;i<A;i++)    v.push_back(V[i]);
            for(int i=0;i<B;i++)    v.push_back(V[N-1-i]);
            sort(v.begin(), v.end());
            int del = K - (A+B);
            for(int i=0;i<v.size();i++){
                if( del <= i || 0 < v[i] )   res += v[i];
            }
            ans = max(ans, res);
        }
    }
    cout << ans << endl;
}