#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
deque<pair<int, int> > q;
int a[N];
void push(int x) {
  while (!q.empty() && a[x] >= q.back().first) q.pop_back();
  q.push_back(make_pair(a[x], x));
}
int main() {
  int n, r = 0, mx = 0, mn = 1e9;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
    mx = max(mx, a[i]);
    mn = min(mn, a[i]);
  }
  if (mx <= mn << 1) {
    for (int i = 1; i <= n; i++) puts("-1");
    return 0;
  }
  for (int i = 1; i <= n; i++) {
    while (q.empty() || a[r % n + 1] << 1 >= q.front().first)
      push(((++r) - 1) % n + 1);
    if (q.front().second == i) q.pop_front();
    printf("%d\n", r - i + 1);
  }
  return 0;
}
