#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e6 + 6;
double arr[MAXN];
deque<pair<double, int>> q1;
int main() {
  double n;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    int x;
    cin >> x;
    arr[i] = x;
  }
  q1.push_back(make_pair(arr[1], 1));
  for (int i = 2; i <= n; i++) {
    double num = 1;
    int tot = 1;
    double tmp = arr[i];
    while (q1.size() && q1.back().first > tmp) {
      tmp = (q1.back().first * q1.back().second + tmp * tot) /
            (tot + q1.back().second);
      tot += q1.back().second;
      q1.pop_back();
    }
    q1.push_back(make_pair(tmp, tot));
  }
  while (q1.size()) {
    auto hold = q1.front();
    q1.pop_front();
    double tmp = hold.first;
    double tot = hold.second;
    while (tot--) {
      cout << std::setprecision(12) << tmp << " ";
    }
  }
}
