#include <bits/stdc++.h>
using namespace std;
double a[1 << 18];
pair<double, int> p[1 << 19];
double res[1 << 18];
double v1, v2, L, length;
int N;
void scan() {
  scanf("%d%lf%lf%lf", &N, &L, &v1, &v2);
  for (int i = 0; i < N; ++i) scanf("%lf", &a[i]);
}
void solve() {
  int sz = 0;
  length = (L * v2 / (v1 + v2));
  for (int i = 0; i < N; ++i) a[i + N] = 2 * L + a[i];
  for (int i = 0; i < N * 2; ++i) {
    if (a[i] <= a[N]) p[sz++] = make_pair(a[i], -1);
    if (a[i] - length > a[0] && a[i] - length <= a[N])
      p[sz++] = make_pair(a[i] - length, 1);
  }
  int cnt = 0;
  for (int i = 0; i < N; ++i)
    if (a[i] >= a[0] && a[i] <= a[0] + length) ++cnt;
  --cnt;
  sort(p, p + sz);
  for (int i = 1; i < sz; ++i) {
    res[cnt] += (p[i].first - p[i - 1].first);
    if (p[i].second == 1)
      ++cnt;
    else
      --cnt;
  }
  for (int i = 0; i <= N; ++i) printf("%.9f\n", res[i] / (2. * L));
}
int main() {
  scan();
  solve();
}
