#include <bits/stdc++.h>
using namespace std;
int n;
long long a[1000001];
long long gcd(long long a, long long b) { return (!b) ? a : gcd(b, a % b); }
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  stack<pair<pair<long long, long long>, long long> > st;
  for (int i = 0; i < n; i++) {
    pair<long long, long long> v = {a[i], 1};
    int sts = i;
    while (!st.empty() &&
           v.first * st.top().first.second < st.top().first.first * v.second) {
      long long s = st.top().first.first + v.first;
      long long d = i - st.top().second + 1;
      sts = st.top().second;
      st.pop();
      v = {s, d};
    }
    st.push({v, sts});
  }
  double ans[n];
  for (int i = n - 1; i >= 0; i--) {
    ans[i] = st.top().first.first * 1.0 / st.top().first.second;
    if (i == st.top().second) st.pop();
  }
  for (int i = 0; i < n; i++) printf("%.9lf\n", ans[i]);
}
