#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e6 + 10;
int n, p;
double a[maxn], len[maxn], ans[maxn];
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%lf", &a[i]);
  for (int i = 1; i <= n; i++) {
    ans[++p] = a[i];
    len[p] = 1;
    while (p > 1 && ans[p - 1] > ans[p]) {
      ans[p - 1] =
          (ans[p] * len[p] + ans[p - 1] * len[p - 1]) / (len[p] + len[p - 1]);
      len[p - 1] += len[p];
      p--;
    }
  }
  for (int i = 1; i <= p; i++) {
    for (int j = 1; j <= len[i]; j++) {
      printf("%.12f ", ans[i]);
    }
  }
  return 0;
}
