#include <bits/stdc++.h>
int a[100002], frist, mid, es, n;
using namespace std;
int main() {
  int t1 = 0, t2 = 0, t3 = 0, t4 = 0;
  int ants = 2, p = -1, q = 0;
  int i, l, x, y;
  cin >> n;
  cin >> l >> x >> y;
  for (i = 1; i <= n; i++) cin >> a[i];
  for (i = 1; i < n + 1; i++) {
    if (binary_search(a, a + n + 1, a[i] + x)) t1 = 1;
    if (binary_search(a, a + n + 1, a[i] + y)) t2 = 1;
    if (binary_search(a, a + n + 1, a[i] + x + y)) {
      t3 = 1;
      p = a[i];
    }
    if (binary_search(a, a + n + 1, a[i] + y - x) &&
        ((a[i] + y <= l) || (a[i] - x >= 0))) {
      t4 = 1;
      p = a[i];
    }
  }
  if (t1) {
    ants--;
    q = 1;
  }
  if (t2) {
    ants--;
    q = 2;
  }
  if (ants == 2 && (t3 || t4)) {
    ants--;
  }
  cout << ants << endl;
  if (ants == 2) cout << a[1] + x << " " << a[1] + y << endl;
  if (ants == 1) {
    if (p == -1) {
      if (q == 1) {
        cout << a[1] + y << endl;
      } else
        cout << a[1] + x << endl;
    } else {
      if (p + y <= l)
        cout << p + y << endl;
      else
        cout << p - x << endl;
    }
  }
  return 0;
}
