#include <bits/stdc++.h>
using namespace std;
const int N = int(3e5) + 2;
const int LG = 20;
const long long mod = (int)1e8;
const int INF = (int)1e9 + 7;
const long long linf = 1e18;
const long double pi = acos(-1);
const int base = 10;
const long double EPS = 1e-9;
int n, t[N * 4], a[N];
void build(int v, int tl, int tr) {
  if (tl == tr)
    t[v] = a[tl];
  else {
    int tm = tl + tr >> 1;
    build((v << 1), tl, tm);
    build((v << 1) + 1, tm + 1, tr);
    t[v] = max(t[(v << 1)], t[(v << 1) + 1]);
  }
}
int get(int v, int tl, int tr, int l, int r) {
  if (tl > r || tr < l) return 0;
  if (l <= tl && tr <= r) return t[v];
  int tm = tl + tr >> 1;
  return max(get((v << 1), tl, tm, l, r), get((v << 1) + 1, tm + 1, tr, l, r));
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; ++i) {
    scanf("%d", a + i);
    a[n + i] = a[i];
    a[2 * n + i] = a[i];
  }
  n = n * 3;
  build(1, 1, n);
  int pos = 1;
  for (int i = 1; i <= n / 3; ++i) {
    int cur = get(1, 1, n, i, pos);
    while (pos <= n && a[pos] * 2 >= cur) {
      ++pos;
      cur = max(cur, a[pos]);
    }
    if (pos > n)
      printf("-1 ");
    else
      printf("%d ", pos - i);
  }
  return 0;
}
