#include <bits/stdc++.h>
using namespace std;
long long const N = 5000005;
vector<pair<long long, long long> > vc;
long long a[N], arr[N];
void go() {
  long long n, i;
  bool flag = true;
  cin >> n;
  for (i = 0; i < n; i++) {
    cin >> a[i];
    vc.push_back(make_pair(a[i], 1));
    while (vc.size() >= 2 && vc.back().first * vc[vc.size() - 2].second <=
                                 vc[vc.size() - 2].first * vc.back().second) {
      vc[vc.size() - 2].first += vc.back().first;
      vc[vc.size() - 2].second += vc.back().second;
      vc.pop_back();
    }
  }
  for (auto &x : vc) {
    double temp = (double)x.first / x.second;
    while (x.second--) printf("%.15lf\n", temp);
  }
  return;
}
int main() {
  long long t = 1;
  while (t--) go();
  return 0;
}
