#include <bits/stdc++.h>
using namespace std;
const int maxn = 3e5 + 10;
int n, a[maxn];
int mi = 1e9 + 7, mx = 0;
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; ++i) {
    scanf("%d", a + i);
    a[i + 2 * n] = a[i + n] = a[i];
    mx = max(mx, a[i]);
    mi = min(mi, a[i]);
  }
  if (mx <= 2 * mi) {
    for (int i = 1; i <= n; ++i) printf("-1 ");
    puts("");
    return 0;
  }
  multiset<int> st;
  for (int i = 1, j = 0; i <= n; ++i) {
    while (j <= 4 * n) {
      if (!st.empty() && (*st.rbegin()) > 2 * a[j + 1]) break;
      ++j;
      st.insert(a[j]);
    }
    printf("%d ", j - i + 1);
    st.erase(st.lower_bound(a[i]));
  }
  return 0;
}
