#include<iostream>
using namespace std;
int a2200;//记录价值
int site2200;//记录位置是否栽树
int n,m,maxx;
bool cont(int d){
return (sited==0&&site(d-1+n)%n==0&&site(d+1)%n==0);
}
void dfs(int x,int s,int sum){//x当前种树位置,s剩余种树数量,sum总价值
sitex=1;
sum+=ax;
if(s){
for(int i=x+2;i<n;i++){
if(cont(i)){
dfs(i,s-1,sum);
}
}
}else{
if(sum>maxx)maxx=sum;
}
sitex=0;
}
int main(){
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>ai;
}
if((n/2)>=m){
for(int i=0;i<n;i++){
dfs(i,m-1,0);
}
cout<<maxx<<endl;
}else{
cout<<"Error!"<<endl;
}
return 0;
}