#include <bits/stdc++.h>
using namespace std;
long long a[1000010];
pair<long long, long long> st[1000010];
bool check(pair<long long, long long> a, pair<long long, long long> b,
           pair<long long, long long> c) {
  double k1 = 1.0 * (b.second - a.second) / (b.first - a.first);
  double k2 = 1.0 * (c.second - b.second) / (c.first - b.first);
  if (k1 > k2) return 1;
  return 0;
}
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
    a[i] += a[i - 1];
  }
  int top = 0;
  st[top++] = make_pair(0, 0);
  for (int i = 1; i <= n; i++) {
    pair<long long, long long> tmp = make_pair(i, a[i]);
    while (top > 1 && check(st[top - 2], st[top - 1], tmp)) top--;
    st[top++] = tmp;
  }
  for (int i = 0; i < top - 1; i++) {
    long long l = st[i].first, r = st[i + 1].first,
              tot = st[i + 1].second - st[i].second;
    for (int j = l + 1; j <= r; j++) {
      printf("%.9f\n", 1.0 * tot / (r - l));
    }
  }
  return 0;
}
