# include using namespace std; const int maxn = 3e4+2; long long dp[maxn][205][2]; long long MAX(long long A, long long B) { if(A>B)return A; return B; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); freopen ("monkeys.in","r",stdin); freopen ("monkeys.out","w",stdout); int n,k,i,j,x; cin>>n>>k; for(i=0;i<=n;i++) for(j=0;j<=k;j++) { dp[i][j][0] = -1e18; dp[i][j][1] = -1e18; } dp[0][0][0] = 0; dp[0][0][1] = 0; for(i=1;i<=n;i++) { cin>>x; for(j=1;j<=k;j++) { dp[i][j][0] = MAX(dp[i][j][0],dp[i-1][j][0]+x); dp[i][j][1] = MAX(dp[i][j][1],dp[i-1][j][1]-x); if(j%2==0) { dp[i][j][0] = MAX(dp[i][j][0],dp[i-1][j-1][1]+x); dp[i][j][1] = MAX(dp[i][j][1],dp[i-1][j-1][0]-x); } else { dp[i][j][0] = MAX(dp[i][j][0],dp[i-1][j-1][0]+x); dp[i][j][0] = MAX(dp[i][j][0],dp[i-1][j-1][1]+x); dp[i][j][1] = MAX(dp[i][j][1],dp[i-1][j-1][0]-x); dp[i][j][1] = MAX(dp[i][j][1],dp[i-1][j-1][1]-x); } } } long long ans = MAX(dp[n][k][0],dp[n][k][1]); cout<