#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) { return b == 0 ? a : gcd(b, a % b); }
long long power(long long first, long long n) {
  long long result = 1;
  while (n > 0) {
    if (n % 2 == 1) result = result * first;
    first = first * first;
    n = n / 2;
  }
  return result;
}
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long n;
  cin >> n;
  vector<long long> v(n);
  long long mx = 0, mn = INT_MAX;
  for (long long &first : v) {
    cin >> first;
    mx = max(mx, first);
    mn = min(mn, first);
  }
  if (mx % 2 == 0) {
    if (mn >= mx / 2) {
      for (long long i = 0; i < n; i++) cout << -1 << ' ';
      return 0;
    }
  } else {
    if (mn > mx / 2) {
      for (long long i = 0; i < n; i++) cout << -1 << ' ';
      return 0;
    }
  }
  multiset<long long> s;
  long long flag = 0;
  for (long long i = 0; i < n; i++) {
    for (long long j = flag; 1; j = (j + 1) % n) {
      long long first = v[j];
      if (s.empty()) {
        s.insert(-1 * first);
      } else {
        auto it = s.begin();
        if ((-1) * (*it) > 2 * first) {
          cout << s.size() << ' ';
          s.erase(s.lower_bound(-1 * v[i]));
          flag = j;
          break;
        } else
          s.insert(-1 * (first));
      }
    }
  }
}
