#include <bits/stdc++.h>
#pragma GCC optimize("-O3")
using namespace std;
const long long N = 1e6 + 5;
long long n, x, sum;
double a[N];
stack<pair<long long, long long>> st;
int32_t main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  cin >> n;
  for (long long i = 1; i <= n; i++) {
    cin >> x;
    if (i == 1)
      st.push({x, 1});
    else {
      pair<long long, long long> p = {x, 1};
      while (st.size() and (1.0) * st.top().first / st.top().second >=
                               (1.0) * p.first / p.second) {
        pair<long long, long long> t = st.top();
        st.pop();
        long long sum = 0, cnt = 0;
        sum = p.first + t.first;
        cnt = p.second + t.second;
        p = {sum, cnt};
      }
      st.push(p);
    }
  }
  long long cnt = n;
  while (st.size()) {
    pair<long long, long long> p = st.top();
    long long tot = p.second;
    while (tot--) a[cnt--] = 1.0 * p.first / p.second;
    st.pop();
  }
  cout << fixed << setprecision(9);
  for (long long i = 1; i <= n; i++) cout << a[i] << "\n";
  return 0;
}
