#include <bits/stdc++.h>
using namespace std;
int k[500000], c[500000], a;
void s2(int x1, int y1, int x2, int y2) {
  int l = x1, x = x1;
  while ((x1 <= y1 || x2 <= y2) && l <= y2) {
    if (x1 == y1 + 1) {
      c[l] = k[x2];
      x2++;
      l++;
    } else if (x2 == y2 + 1) {
      c[l] = k[x1];
      l++;
      x1++;
    } else {
      if (k[x1] > k[x2]) {
        c[l] = k[x2];
        x2++;
        l++;
      } else {
        c[l] = k[x1];
        l++;
        x1++;
      }
    }
  }
  for (int i = x; i <= y2; i++) {
    k[i] = c[i];
    c[i] = 0;
  }
}
void s1(int a, int b) {
  if (b - a >= 1) {
    s1(a, (a + b) / 2);
    s1((a + b) / 2 + 1, b);
    s2(a, (a + b) / 2, (a + b) / 2 + 1, b);
  }
}
bool f1(int mid) {
  int max[mid], min[mid];
  for (int i = 0; i < mid; i++) {
    min[i] = k[i];
  }
  for (int i = a - mid; i < a; i++) {
    max[i - a + mid] = k[i];
  }
  int ar = 0;
  for (int i = 0; i < mid; i++) {
    if (max[i] >= min[i] * 2) {
      ar++;
    }
  }
  return (ar == mid);
}
int main() {
  cin >> a;
  for (int i = 0; i < a; i++) {
    cin >> k[i];
  }
  s1(0, a - 1);
  int r = a / 2, l = 0, ans = -1, mid;
  while (l <= r) {
    mid = (l + r) / 2;
    if (f1(mid)) {
      ans = mid;
      l = mid + 1;
    } else {
      r = mid - 1;
    }
  }
  cout << a - ans;
}
