#include <bits/stdc++.h>
using namespace std;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long int n, k;
  vector<long long int> a;
  cin >> n >> k;
  long long int te;
  set<long long int> verif;
  set<long long int> pos;
  map<long long int, vector<long long int>> vals;
  verif.insert(0);
  for (int i = 0; i < n; i++) {
    cin >> te;
    a.push_back(te);
    if (vals[te] == vector<long long int>()) {
      while (te) {
        verif.insert(te);
        vals[a[a.size() - 1]].push_back(te);
        te = te / 2;
      }
      vals[a[a.size() - 1]].push_back(0);
    }
  }
  sort(a.begin(), a.end());
  long long int mini = INT_MAX;
  for (long long int ite : verif) {
    long long int num_moves = 0;
    long long int cou_pos = 0;
    int flag = 0;
    for (auto i = a.begin(); i != a.end(); i++) {
      int te_cou = 0;
      int va = 0;
      auto pointer = vals[*i];
      for (auto iter = pointer.begin(); iter != pointer.end(); iter++) {
        if (*iter == ite) {
          cou_pos++;
          num_moves += va;
          break;
        }
        va++;
      }
      if (cou_pos >= k) {
        flag = 1;
        break;
      }
      if (num_moves > mini) break;
    }
    if (flag) mini = min(mini, num_moves);
  }
  cout << mini << endl;
  return 0;
}
