#include using namespace std; int n, k; vector a; vector> v; int solve(int i) { if (i == n) { if (find(v.begin(), v.end(), vector()) != v.end()) return 0; vector ave; for (auto& u : v) ave.emplace_back(accumulate(u.begin(), u.end(), 0.0) / u.size()); auto m = minmax_element(ave.begin(), ave.end()); return ceil(*m.second - *m.first); } int res = 0; for (int j = 0; j < k; ++j) { v[j].emplace_back(a[i]); res = max(res, solve(i + 1)); v[j].pop_back(); } return res; } int main() { cin >> n >> k; a.resize(n); for (int& i : a) cin >> i; v.resize(k); cout << solve(0) << endl; }