#include <bits/stdc++.h>
using namespace std;
bool debug;
const int inf = 1e9 + 5;
const int nax = 128 * 1024;
const long long INF = (long long)inf * inf;
long long ile[nax];
long long res[nax];
long long wypisz = INF;
void rec(int i, long long RES, long long ILE) {
  wypisz = min(wypisz, RES + res[i]);
  if (i >= nax / 2) return;
  int ja = ile[i] - ile[2 * i] - ile[2 * i + 1];
  rec(2 * i, RES + res[2 * i + 1] + ja + 2 * ile[2 * i + 1] + ILE,
      ILE + ile[2 * i + 1] + ja);
  if (ILE + ile[2 * i] + ja == 0)
    rec(2 * i + 1, RES + res[2 * i] + ja + 2 * ile[2 * i] + ILE,
        ILE + ile[2 * i] + ja);
}
int main(int argc, char *argv[]) {
  debug = argc > 1;
  int n;
  scanf("%d", &n);
  while (n--) {
    int a;
    scanf("%d", &a);
    ile[a]++;
  }
  for (int i = nax / 2 - 1; i >= 1; --i) {
    res[i] = res[2 * i] + res[2 * i + 1] + ile[2 * i] + ile[2 * i + 1];
    ile[i] += ile[2 * i] + ile[2 * i + 1];
  }
  rec(1, 0, 0);
  assert(wypisz != INF);
  printf("%lld\n", wypisz);
  return 0;
}
