#include <bits/stdc++.h>
using namespace std;
int N;
int A[1010101];
void solve() {
  int i, j, k, l, r, x, y;
  string s;
  scanf("%d", &N);
  vector<pair<long double, int>> V;
  for (i = 0; i < (N); i++) {
    scanf("%d", &A[i]);
    V.push_back({A[i], 1});
    while (V.size() >= 2 && (V[V.size() - 2].first >= V[V.size() - 1].first)) {
      long double v = V[V.size() - 2].first * V[V.size() - 2].second +
                      V[V.size() - 1].first * V[V.size() - 1].second;
      x = V[V.size() - 1].second + V[V.size() - 2].second;
      V.pop_back();
      V.pop_back();
      V.push_back({v / x, x});
    }
  }
  for (auto& v : V) {
    for (i = 0; i < (v.second); i++) (void)printf("%.12lf\n", (double)v.first);
  }
}
int main(int argc, char** argv) {
  string s;
  int i;
  if (argc == 1) ios::sync_with_stdio(false), cin.tie(0);
  for (i = 0; i < (argc - 1); i++) s += argv[i + 1], s += '\n';
  for (i = 0; i < (s.size()); i++) ungetc(s[s.size() - 1 - i], stdin);
  cout.tie(0);
  solve();
  return 0;
}
