#include <bits/stdc++.h>
using namespace std;
int n, k;
int a[222], sum[222];
struct node {
  int a, id;
} b[222];
bool cmp(node s, node d) { return s.a < d.a; }
int main() {
  cin >> n >> k;
  for (int i = 0; i < n; i++) cin >> a[i], b[i].a = a[i], b[i].id = i;
  ;
  sum[0] = a[0];
  for (int i = 1; i < n; i++) sum[i] = sum[i - 1] + a[i];
  sort(b, b + n, cmp);
  int ans = -22222;
  for (int l = 0; l < n; l++)
    for (int r = l; r < n; r++) {
      int p = min(k, r - l + 1);
      int res = sum[r];
      if (l) res -= sum[l - 1];
      int i = 0, j = n - 1;
      while (p--) {
        while (i < n && b[i].id < l || b[i].id > r) i++;
        while (j >= 0 && b[j].id >= l && b[j].id <= r) j--;
        if (i == n || j == -1) break;
        if (b[i].a > b[j].a) break;
        res += (b[j].a - b[i].a);
        i++;
        j--;
      }
      ans = max(ans, res);
    }
  cout << ans << endl;
}
