#include <bits/stdc++.h>
using namespace std;
void Fast_IO() {
  ios::sync_with_stdio(0);
  cin.tie(0);
}
int n;
vector<double> a;
deque<pair<int, double> > ans;
void compress(double num) {
  ans.push_back(make_pair(1, num));
  while (true) {
    if ((long long)int(ans.size()) <= 1) return;
    if (ans[(long long)int(ans.size()) - 1].second <=
        ans[(long long)int(ans.size()) - 2].second) {
      int newcount = ans[(long long)int(ans.size()) - 1].first +
                     ans[(long long)int(ans.size()) - 2].first;
      double newVal = (ans[(long long)int(ans.size()) - 1].second *
                           ans[(long long)int(ans.size()) - 1].first +
                       ans[(long long)int(ans.size()) - 2].second *
                           ans[(long long)int(ans.size()) - 2].first) /
                      newcount;
      ans.pop_back();
      ans.pop_back();
      ans.push_back(make_pair(newcount, newVal));
    } else
      break;
  }
}
int main() {
  Fast_IO();
  cin >> n;
  for (long long i = (long long)0; i <= (long long)n - 1; i++) {
    int x;
    cin >> x;
    a.push_back((double)x);
  }
  ans.push_back(make_pair(1, a[0]));
  for (long long i = (long long)1; i <= (long long)n - 1; i++) compress(a[i]);
  cout << fixed << setprecision(9);
  for (auto x : ans)
    for (long long i = (long long)1; i <= (long long)x.first; i++)
      cout << x.second << '\n';
  return 0;
}
