#include <bits/stdc++.h>
using namespace std;
struct Aux {
  long long sum, sz;
  int id;
  Aux() {}
  Aux(long long sum, long long sz, int id) : sum(sum), sz(sz), id(id) {}
};
const int MAXN = 1000010;
int v[MAXN];
Aux ans[MAXN];
int n;
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) scanf("%d", &v[i]);
  stack<Aux> st;
  for (int i = 0; i < n; i++) {
    long long sum = v[i];
    long long sz = 1;
    while (!st.empty() and (st.top().sum * sz >= sum * st.top().sz)) {
      Aux tp = st.top();
      st.pop();
      sum += tp.sum;
      sz += tp.sz;
    }
    st.push(Aux(sum, sz, i));
  }
  Aux last = st.top();
  for (int i = n - 1; i >= 0; i--) {
    if (!st.empty() and st.top().id == i) {
      last = st.top();
      st.pop();
    }
    ans[i] = last;
  }
  for (int i = 0; i < n; i++)
    printf("%.010lf\n", ans[i].sum / (double)ans[i].sz);
  return 0;
}
