#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9 + 7;
const int maxn = 1e6 + 5;
class Vector {
 public:
  long long x, y;
  Vector() {}
  Vector(long long _x, long long _y) : x(_x), y(_y) {}
  inline Vector operator-(const Vector &ano) const {
    return Vector(x - ano.x, y - ano.y);
  }
} stk[maxn];
inline long long cross(const Vector &u, const Vector &v) {
  return (u.x * v.y - u.y * v.x);
}
int n, top;
int a[maxn];
long long sum[maxn];
long double ans[maxn];
int main() {
  scanf("%d", &n);
  for (int i = (1); i <= (n); ++i) {
    scanf("%d", a + i);
    sum[i] = (i ? sum[i - 1] : 0) + a[i];
  }
  for (int i = (0); i <= (n); ++i) {
    Vector p = Vector(i, sum[i]);
    for (; top > 1 && cross(p - stk[top - 1], stk[top] - stk[top - 1]) > 0;
         --top)
      ;
    stk[++top] = p;
  }
  for (int i = (1); i < (top); ++i) {
    Vector u = stk[i + 1] - stk[i];
    for (int j = (stk[i].x + 1); j <= (stk[i + 1].x); ++j)
      ans[j] = (long double)u.y / u.x;
  }
  for (int i = (1); i <= (n); ++i) printf("%.12Lf\n", ans[i]);
  return 0;
}
