#include <iostream>
#include <algorithm>
#include <vector>
#include <list>
using namespace std;

long long evaluiraj(list<int> kombinacija, vector<int> pokusaji) {
	for (auto p : pokusaji) {
		if (p) {
			int x = kombinacija.front();
			int y = kombinacija.back();
			kombinacija.pop_front();
			kombinacija.pop_back();
			kombinacija.push_front(x - y);
		}
		else {
			int x = kombinacija.back();
			int y = kombinacija.front();
			kombinacija.pop_back();
			kombinacija.pop_front();
			kombinacija.push_back(x - y);
		}
	}
	return kombinacija.front();
}

long long probaj_kombinaciju(list<int> kombinacija, vector<int> &pokusaji) {
	int i = 0;
	while (i < pokusaji.size()) {
		pokusaji[i]++;
		if (pokusaji[i] > 1) {
			pokusaji[i] = 0;
			i++;
		}
		else {
			break;
		}
	}
	return evaluiraj(kombinacija, pokusaji);
}

int main() {
	long long n, k, m = -LLONG_MIN;
	cin >> n >> k;
	vector<int> svi, izabrani(n);
	list<int> kombinacija;
	for(int i = 0; i < k; i++) izabrani[n-k+i] = 1;
	for (int i = 0; i < n; i++) {
		int a;
		cin >> a;
		svi.push_back(a);
	}
	do {
		kombinacija.clear();
		for (int i = 0; i < n; i++) if (izabrani[i]) kombinacija.push_back(svi[i]);
		vector<int> pokusaji(k - 1, 0);
		do {
			m = max(m, probaj_kombinaciju(kombinacija, pokusaji));
		} while (find(pokusaji.begin(), pokusaji.end(), 1) != pokusaji.end());
	} while (next_permutation(izabrani.begin(), izabrani.end()));
	cout << m;
	
}