#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 100;
int n, ans;
int ch = 0;
set<pair<int, int> > maxes;
vector<int> a;
void input() {
  cin >> n;
  for (int i = 0; i < n; i++) {
    int t;
    cin >> t;
    a.push_back(t);
  }
}
int to_wher(int st, int maxi) {
  while (a[st] >= maxi / 2 + (maxi % 2) and ans < 2 * n) {
    maxi = max(maxi, a[st]);
    ch++;
    maxes.insert({-a[st], ch});
    ans++;
    st++;
    st = st % n;
  }
  return st;
}
void calc() {
  int cur = 0;
  for (int i = 0; i < n; i++) {
    int maxim = 0;
    if (maxes.size()) {
      maxes.erase(maxes.lower_bound({-a[i - 1], 0}));
      ans--;
    }
    if (maxes.size()) maxim = (*(maxes.begin())).first;
    cur = to_wher(cur, -maxim);
    if (ans >= 2 * n)
      cout << -1;
    else
      cout << ans;
    cout << ' ';
  }
}
void test() {
  int t;
  cin >> t;
  cout << a[t] << endl;
}
int main() {
  ios::sync_with_stdio(false);
  input();
  calc();
}
