#include <bits/stdc++.h>
using namespace std;
long long ara[1000000], lex[1000000];
stack<pair<double, double> > st;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  long long i, j, k;
  long long n;
  scanf("%lld", &n);
  for (i = 0; i < n; i++) scanf("%lld", &ara[i]);
  st.push({ara[n - 1], 1.0});
  for (i = n - 2; i >= 0; i--) {
    double val = ara[i];
    double cnt = 1.0;
    while (!st.empty()) {
      double tval = st.top().first;
      double tcnt = st.top().second;
      if (((val * cnt + tval * tcnt) / (cnt + tcnt)) > val) {
        break;
      }
      val = (val * cnt + tval * tcnt) / (cnt + tcnt);
      cnt += tcnt;
      st.pop();
    }
    st.push({val, cnt});
  }
  while (!st.empty()) {
    while (st.top().second) {
      cout << fixed << setprecision(12) << st.top().first << "\n";
      st.top().second--;
    }
    st.pop();
  }
}
