#include <bits/stdc++.h>
using namespace std;
int a[1000005];
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  stack<pair<long long, int> > st;
  for (int i = 1; i <= n; i++) {
    st.push(make_pair(a[i], 1));
    while (st.size() > 1) {
      auto p = st.top();
      st.pop();
      auto x = st.top();
      long long sum = x.first;
      sum += p.first;
      int base = p.second + x.second;
      if (sum * x.second < x.first * base) {
        st.pop();
        st.push({sum, base});
      } else {
        st.push(p);
        break;
      }
    }
  }
  vector<double> vec;
  while (!st.empty()) {
    auto p = st.top();
    st.pop();
    for (int i = 0; i < p.second; i++) vec.push_back(p.first * 1.0 / p.second);
  }
  reverse(vec.begin(), vec.end());
  for (double x : vec) printf("%.9f\n", x);
  return 0;
}
