#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 1e6 + 6;
int n;
double a[MAX_N];
deque<pair<double, int>> s;
void doo(double x) {
  pair<double, int> back = {x, 1};
  while (!s.empty() && s.back().first > back.first) {
    auto now = s.back();
    s.pop_back();
    back.first = (back.first * back.second + now.first * now.second) /
                 (back.second + now.second);
    back.second += now.second;
  }
  s.emplace_back(back);
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) scanf("%lf", &a[i]);
  s.emplace_back(a[0], 1);
  for (int i = 1; i < n; i++) {
    if (a[i] == s.back().first)
      s.back().second++;
    else if (a[i] > s.back().first)
      s.emplace_back(a[i], 1);
    else
      doo(a[i]);
  }
  while (!s.empty()) {
    printf("%.8lf\n", s.front().first);
    s.front().second--;
    if (s.front().second == 0) s.pop_front();
  }
  return 0;
}
