#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 5;
int n, l[N], r[N], top, a[N];
long long w[N];
double ans[N];
int main() {
  scanf("%d", &n);
  for (register int i = 1; i <= n; i++) scanf("%d", &a[i]);
  top = 1;
  l[1] = r[1] = n;
  w[1] = a[n];
  l[0] = n + 1;
  for (register int i = n - 1; i; i--) {
    int tot = 1;
    long long sum = a[i];
    while (top && w[top] * tot <= sum * (r[top] - l[top] + 1)) {
      sum += w[top];
      tot += r[top] - l[top] + 1;
      top--;
    }
    top++;
    r[top] = l[top - 1] - 1;
    l[top] = i;
    w[top] = sum;
  }
  for (register int i = 1; i <= top; i++)
    for (register int j = l[i]; j <= r[i]; j++)
      ans[j] = 1.0 * w[i] / (r[i] - l[i] + 1);
  for (register int i = 1; i <= n; i++) printf("%.10lf\n", ans[i]);
  return 0;
}
