# coding:utf-8 n,m=map(int,raw_input().split()) w=map(int,raw_input().split()) # dp[最初に頂点を選んだか][直前の頂点を選んだか][現在の頂点番号][選択済みの頂点数] dp=[[[[-int(1e10+7) for l in xrange(m+1)] for k in xrange(n)] for j in xrange(2)] for i in xrange(2)] dp[0][0][0][0]=0 dp[1][1][0][1]=0 a=-int(1e9+7) for i in range(2): for k in range(n-1): for l in range(m+1): # 選択しない場合 dp[i][0][k+1][l]=max(dp[i][0][k][l],dp[i][1][k][l]) # 選択する場合 if l: dp[i][1][k+1][l]=max(dp[i][0][k][l-1],dp[i][1][k][l-1]+w[k]) a=max(a,dp[1][0][n-1][m]) a=max(a,dp[0][1][n-1][m]) a=max(a,dp[1][1][n-1][m]+w[n-1]) print a