#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int N,K;
int V[50];
int main()
{
	cin>>N>>K;
	for(int i=0;i<N;i++)cin>>V[i];
	int ans=0;
	for(int L=0;L<N;L++)
	{
		for(int R=L;R<=N;R++)
		{
			if(L+(N-R)>K)continue;
			vector<int>a;
			int ret=0;
			for(int i=0;i<L;i++)a.push_back(V[i]),ret+=V[i];
			for(int i=R;i<N;i++)a.push_back(V[i]),ret+=V[i];
			sort(a.begin(),a.end());
			for(int i=0;i<K-(L+(N-R))&&i<a.size()&&a[i]<0;i++)ret-=a[i];
			ans=max(ans,ret);
		}
	}
	cout<<ans<<endl;
}