#include <bits/stdc++.h>
using namespace std;
int top, maxx = -999999, d1[205], d2[205], s, s2;
int n, m, k, t, h[2010], arr[205], a[205], i, j;
int main() {
  scanf("%d %d", &n, &m);
  for (i = 1; i <= n; i++) {
    scanf("%d", &arr[i]);
  }
  for (i = 1; i <= n; i++)
    for (j = i; j <= n; j++) {
      for (k = 1; k <= n; k++)
        if (k >= i && k <= j)
          d1[s++] = arr[k], top += arr[k];
        else
          d2[s2++] = arr[k];
      sort(d1, d1 + s);
      sort(d2, d2 + s2);
      reverse(d2, d2 + s2);
      for (k = 0; k < m; k++)
        if (d2[k] > 0)
          top += d2[k] - d1[k];
        else
          break;
      if (top > maxx) maxx = top;
      memset(d1, 0, sizeof d1);
      memset(d2, 0, sizeof d2);
      top = s = s2 = 0;
    }
  printf("%d", maxx);
  return 0;
}
