#include <bits/stdc++.h>
using namespace std;
const int MOD = 1000000007;
const long long INF = 1e18;
const long double PI = 4 * atan((long double)1);
const int INFTY = 1e7;
long long n;
bool check(long long m, const vector<long long>& a) {
  vector<long long> use;
  priority_queue<int, vector<int>, greater<int>> pq;
  if (n - 1 - m < 0 || 2 * m > n) {
    return false;
  }
  for (int i = n - 1; i > (n - 1) - m; i--) {
    pq.push(a[i]);
  }
  for (int i = 0; i < m; i++) {
    long long small = a[i], big = pq.top();
    pq.pop();
    if (big < 2 * small) {
      return false;
    }
  }
  return true;
}
int main() {
  cin >> n;
  vector<long long> a(n);
  for (int i = 0; i < (n); i++) cin >> a[i];
  sort(a.begin(), a.end());
  long long lo = 0, hi = n;
  long long ans = 0;
  while (lo <= hi) {
    long long m = (lo + hi) / 2;
    if (check(m, a)) {
      lo = m + 1;
      ans = m;
    } else {
      hi = m - 1;
    }
  }
  cout << n - ans << endl;
}
