#include <bits/stdc++.h>
using namespace std;
const long long INF = 2e18;
const int INFi = 1e9;
const int maxN = 400000 + 2000;
const int md = 998244353;
const int md2 = 1e9 + 7;
void solve() {
  int n;
  cin >> n;
  vector<int> a(n);
  for (int i = 0; (i) < n; ++(i)) cin >> a[i];
  multiset<int> s;
  int mi = *min_element((a).begin(), (a).end());
  int mx = *max_element((a).begin(), (a).end());
  if ((mx + 1) / 2 <= mi) {
    for (int i = 0; (i) < n; ++(i)) cout << -1 << " ";
    return;
  }
  for (int i = 0, c = 0; i < n; ++i) {
    while (1) {
      if (s.empty()) {
        s.insert(a[(i + c) % n]);
        c++;
        continue;
      }
      int mxe = *s.rbegin();
      if ((mxe + 1) / 2 > a[(i + c) % n]) {
        break;
      }
      s.insert(a[(i + c) % n]);
      c++;
    }
    cout << c << " ";
    s.erase(s.find(a[i]));
    c--;
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  cout.tie(nullptr);
  int tests = 1;
  for (int _ = 0; (_) < tests; ++(_)) {
    solve();
  }
  return 0;
}
