#include <bits/stdc++.h>
template <class T>
inline bool chmax(T& a, T b) {
  if (a < b) {
    a = b;
    return 1;
  }
  return 0;
}
template <class T>
inline bool chmin(T& a, T b) {
  if (a > b) {
    a = b;
    return 1;
  }
  return 0;
}
constexpr long long MAX = 5100000;
constexpr long long INF = 1LL << 60;
constexpr int inf = 1 << 28;
using namespace std;
int main() {
  int n;
  scanf("%d", &n);
  vector<long long> a(n);
  for (int i = 0; i < n; i++) scanf("%lld", &a[i]);
  vector<pair<long long, long long>> vp;
  for (int i = 0; i < n; i++) {
    vp.emplace_back(a[i], 1);
    while (vp.size() >= 2) {
      auto s = vp.back();
      vp.pop_back();
      auto f = vp.back();
      vp.pop_back();
      if (f.second * (f.first + s.first) < f.first * (f.second + s.second)) {
        vp.emplace_back(f.first + s.first, f.second + s.second);
      } else {
        vp.emplace_back(f);
        vp.emplace_back(s);
        break;
      }
    }
  }
  for (int i = 0; i < vp.size(); i++) {
    auto p = vp[i];
    for (int j = 0; j < p.second; j++) {
      printf("%.12f\n", (double)p.first / p.second);
    }
  }
  return 0;
}
