#include <bits/stdc++.h>
using namespace std;
const int N = 100000 + 5;
int n;
double l, v1, v2;
double a[N];
double d;
double a2[N * 2];
int s_a2;
inline int calc_cnt(double s) {
  double *st = lower_bound(a2 + 1, a2 + s_a2 + 1, s),
         *ed = lower_bound(a2 + 1, a2 + s_a2 + 1, s + d);
  return ed - st;
}
double sign[N * 10];
int s_sign;
double len[N];
int main() {
  scanf("%d%lf%lf%lf", &n, &l, &v1, &v2);
  for (int i = 1; i <= n; ++i) scanf("%lf", &a[i]);
  d = (l * 1.00 * v2) / (v1 + v2);
  for (int i = 1; i <= n; ++i) a2[i] = a[i];
  s_a2 = n;
  for (int i = 1; i <= n && a[i] <= l; ++i) a2[++s_a2] = a[i] + 2 * l;
  for (int i = 1; i <= n; ++i) {
    if (a[i] >= d)
      sign[++s_sign] = a[i] - d;
    else
      sign[++s_sign] = 2 * l + a[i] - d;
    sign[++s_sign] = a[i];
  }
  sign[++s_sign] = 2 * l;
  sort(sign + 1, sign + s_sign + 1);
  for (int i = 1; i <= s_sign; ++i) {
    len[calc_cnt(sign[i - 1] + 1e-6)] += sign[i] - sign[i - 1];
  }
  for (int i = 0; i <= n; ++i) {
    printf("%.20f\n", len[i] / (2 * l));
  }
  return 0;
}
