#include <bits/stdc++.h>
using namespace std;
long long n, l, v1, v2;
vector<double> p;
vector<pair<double, int>> a;
int main() {
  cin >> n >> l >> v1 >> v2;
  double d = (double)v2 / (v1 + v2) * l;
  for (int i = 0; i < n; i++) {
    double x1, x2;
    cin >> x1;
    x2 = x1 + d;
    if (x2 <= 2 * l) {
      a.push_back(make_pair(x1, -1));
      a.push_back(make_pair(x2, +1));
    } else {
      x2 -= 2 * l;
      a.push_back(make_pair(0, -1));
      a.push_back(make_pair(x2, +1));
      a.push_back(make_pair(x1, -1));
      a.push_back(make_pair(2 * l, +1));
    }
  }
  a.push_back(make_pair(0, 0));
  a.push_back(make_pair(2 * l, 0));
  sort(a.begin(), a.end());
  p.assign(n + 1, 0.0);
  int cnt = 0;
  double prev = 0;
  for (int i = 0; i < a.size(); i++) {
    p[cnt] += (a[i].first - prev) / 2 / l;
    cnt -= a[i].second;
    prev = a[i].first;
  }
  for (int i = 0; i <= n; i++) printf("%.10lf\n", p[i]);
  return 0;
}
