#include <bits/stdc++.h>
using namespace std;
int n, k, mx;
int a[100010];
vector<int> v, v2, v3;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> k;
  mx = -(1000 * 1000 * 1000);
  for (__typeof(n) i = (1); i <= (n); i++) {
    cin >> a[i];
    if (a[i] > mx) mx = a[i];
  }
  for (__typeof(n) i = (1); i <= (n); i++) {
    v.clear();
    for (__typeof(n) j = (i); j <= (n); j++) {
      int sum = 0;
      v.push_back(a[j]);
      sort((v).begin(), (v).end());
      v2.clear();
      for (__typeof(n) l = (1); l <= (n); l++)
        if (l < i || l > j) v2.push_back(a[l]);
      sort((v2).begin(), (v2).end());
      reverse((v2).begin(), (v2).end());
      int kp = min(k, ((int)((v).size())));
      kp = min(kp, ((int)((v2).size())));
      v3.clear();
      for (__typeof(kp - 1) i = (0); i <= (kp - 1); i++) {
        v3.push_back(v[i]);
        v3.push_back(v2[i]);
      }
      sort((v3).begin(), (v3).end());
      reverse((v3).begin(), (v3).end());
      for (__typeof(kp - 1) l = (0); l <= (kp - 1); l++) sum += v3[l];
      for (__typeof(((int)((v).size())) - 1) l = (kp);
           l <= (((int)((v).size())) - 1); l++)
        sum += v[l];
      if (sum > mx) mx = sum;
    }
  }
  cout << mx << endl;
  return 0;
}
