#include <bits/stdc++.h>
using namespace std;
const int maxn = 4e5 + 50;
int n, a[maxn], ans[maxn];
int maxx[maxn][35], minx[maxn][35];
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
  }
  for (int i = 1; i <= n; i++) {
    a[i + n] = a[i + n + n] = a[i];
  }
  n = 3 * n;
  deque<int> q;
  int j = 1;
  for (int i = 1; i <= n / 3; i++) {
    while (j <= n && (q.empty() || a[j] * 2 >= a[q.front()])) {
      while ((!q.empty()) && a[j] > a[q.back()]) q.pop_back();
      q.push_back(j);
      ++j;
    }
    if (j == n + 1)
      ans[i] = -1;
    else
      ans[i] = j - i;
    while ((!q.empty()) && q.front() <= i) q.pop_front();
  }
  for (int i = 1; i <= n / 3; i++) {
    printf("%d%c", ans[i], i == n / 3 ? '\n' : ' ');
  }
  return 0;
}
