#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1000000007;
int main() {
  int n;
  long double l, v1, v2;
  cin >> n >> l >> v1 >> v2;
  vector<long double> a(n), x0, r(n + 1);
  for (int i = 0; i < n; ++i) cin >> a[i];
  for (int i = 0; i < n; ++i) a.push_back(a[i] + 2 * l);
  long double ran = 1.0 * l * v2 / (v1 + v2);
  for (typeof a.begin() it = a.begin(); it != a.end(); ++it) {
    long double x = *it;
    if (x >= 0 && x <= 2 * l) x0.push_back(x);
    x = x - ran;
    if (x >= 0 && x <= 2 * l) x0.push_back(x);
  }
  x0.push_back(0);
  x0.push_back(2 * l);
  sort((x0).begin(), (x0).end());
  int p0 = 0, p1 = 0;
  for (int i = 0; i < x0.size() - 1; ++i) {
    long double x1 = x0[i], x2 = x0[i + 1];
    long double x = (x1 + x2) / 2;
    while (p0 < a.size() && a[p0] < x) ++p0;
    while (p1 < a.size() && a[p1] <= x + ran) ++p1;
    if (p0 >= a.size()) continue;
    r[p1 - p0] += x2 - x1;
  }
  cout.precision(20);
  for (int i = 0; i < n + 1; ++i) cout << r[i] / (2 * l) << endl;
  return 0;
}
