#include <bits/stdc++.h>
using namespace std;
int n, l, v1, v2, cnt, tot, a[100010];
pair<double, int> p[200010];
double ans[100010], ti;
int main() {
  scanf("%d%d%d%d", &n, &l, &v1, &v2);
  for (int i = 1; i <= n; ++i) scanf("%d", &a[i]);
  double ll = l - (double)l * v1 / (v1 + v2);
  for (int i = 1; i <= n; ++i) {
    if (a[i] <= ll) ++cnt;
    if (a[i] > ll) {
      p[++tot] = make_pair((l * 2 - a[i]) / (double)v1, 1);
      p[++tot] = make_pair((l * 2 - a[i] + ll) / (double)v1, -1);
    } else {
      p[++tot] = make_pair((ll - a[i]) / (double)v1, -1);
      p[++tot] = make_pair((l * 2 - a[i]) / (double)v1, 1);
    }
  }
  sort(p + 1, p + tot + 1);
  ti = (2 * l) / (double)v1;
  for (int i = 1; i <= tot; ++i) {
    ans[cnt] += (p[i].first - p[i - 1].first) / ti;
    cnt += p[i].second;
  }
  ans[cnt] += (ti - p[tot].first) / ti;
  for (int i = 0; i <= n; ++i) printf("%.10lf\n", ans[i]);
  return 0;
}
