#include <bits/stdc++.h>
using namespace std;
long long a[1000100];
int n;
vector<pair<long long, long long>> vt;
long long ccw(pair<long long, long long> xx1, pair<long long, long long> xx2,
              pair<long long, long long> xx3) {
  return xx1.first * xx2.second + xx2.first * xx3.second +
         xx3.first * xx1.second - xx2.first * xx1.second -
         xx2.second * xx3.first - xx3.second * xx1.first;
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) {
    scanf("%lld", &a[i]);
    a[i] += a[i - 1];
  }
  vt.push_back({0, 0});
  for (int i = 1; i <= n; i++) {
    while (vt.size() > 1) {
      pair<long long, long long> xx = vt.back();
      vt.pop_back();
      if (ccw(vt.back(), xx, {i, a[i]}) > 0) {
        vt.push_back(xx);
        break;
      }
    }
    vt.push_back({i, a[i]});
  }
  vector<double> dap;
  for (int i = 1; i < vt.size(); i++) {
    int ch = vt[i].first - vt[i - 1].first;
    double xx = (double)(vt[i].second - vt[i - 1].second);
    for (int y = 0; y < ch; y++) {
      dap.push_back(xx / ch);
    }
  }
  for (int i = 0; i < dap.size(); i++) {
    printf("%.12lf\n", dap[i]);
  }
}
