#include <bits/stdc++.h>
using namespace std;
const long long int N = 100005;
int32_t main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  {
    long long int i, j, k, n, m, ans = 0, cnt = 0, sum = 0;
    cin >> n;
    long long int a[n];
    stack<pair<long long int, long long int> > St;
    for (i = 0; i < n; i++) {
      cin >> a[i];
    }
    St.push({a[0], 0});
    for (i = 1; i < n; i++) {
      St.push({a[i], i});
      while (St.size() > 1) {
        long long int top_val = St.top().first,
                      top_size = i - St.top().second + 1,
                      top_start = St.top().second;
        St.pop();
        long long int S_top_val = St.top().first,
                      S_top_size = top_start - St.top().second,
                      S_top_start = St.top().second;
        St.pop();
        if ((top_val + S_top_val) * (top_size) >
            (top_val) * (top_size + S_top_size)) {
          St.push({top_val + S_top_val, S_top_start});
        } else {
          St.push({S_top_val, S_top_start});
          St.push({top_val, top_start});
          break;
        }
      }
    }
    m = n;
    long double res[n];
    while (!St.empty()) {
      long long int val = St.top().first, sz = St.top().second;
      for (i = sz; i < m; i++) {
        res[i] = (long double)(val) / (long double)(m - sz);
      }
      m = sz;
      St.pop();
    }
    cout << setprecision(10) << fixed;
    for (i = 0; i < n; i++) {
      cout << res[i] << '\n';
    }
  }
}
