I=lambda:map(int,raw_input().split());n,m=I();w=I() def f(s): D={(s,s):0} for i in range(n-1): T={} for(t,h),v in D.iteritems(): for a in[0,1]: if i-n+1<t+a-m<=0: k=(t+a,a);u=v+w[i]*h*a if k not in T or T[k]<u:T[k]=u D=T return max(v+h*s*w[n-1]for(k,h),v in D.items()) print max(f(0),f(1))if(n>m)*(m>0)else[0,sum(w)][m>0]