#include <bits/stdc++.h>
using namespace std;
const int MAXN = 100100;
int n, a[MAXN], k;
bool search(int x, bool ch) {
  int e, s;
  s = e = (ch ? n - 1 : 0);
  for (s; (ch ? s >= 0 : s < n); (ch ? (e >= 0, s--) : (e < n, s++))) {
    while ((ch ? e >= 0 : e < n) && abs(a[e] - a[s]) < x) (ch ? e-- : e++);
    if ((ch ? e >= 0 : e < n) && abs(a[e] - a[s]) == x) return 1, k = e;
  }
  return 0;
}
void chap(int x) {
  cout << 1 << endl << x << endl;
  exit(0);
}
int main() {
  ios_base::sync_with_stdio(0);
  int x, y, l;
  bool ch1, ch2;
  cin >> n >> l >> x >> y;
  for (int i = 0; i < n; i++) cin >> a[i];
  ch1 = search(x, 0);
  ch2 = search(y, 0);
  if (ch1 || ch2) {
    if (ch1 ^ ch2)
      chap((ch1 ? y : x));
    else
      cout << '0' << endl;
    return 0;
  }
  if (search(x + y, 0)) chap(a[k] - y);
  if (search(y - x, 0) && a[k] + x < l) chap(a[k] + x);
  if (search(y - x, 1) && a[k] - x > 0) chap(a[k] - x);
  cout << 2 << endl << x << endl << y << endl;
  return 0;
}
