#include <bits/stdc++.h>
using namespace std;
const long long inf = 1e18;
const long long mod = 1e9 + 7;
const long long MOD = 998244353;
const double EPS = 1e-8;
const double PI = acos(-1.0);
long long powMod(long long n, long long p, long long m) {
  long long res = 1;
  n %= m;
  while (p > 0) {
    if (p & 1) res = (res * n) % m;
    p = p >> 1;
    n = (n * n) % m;
  }
  return res;
}
const int N = 2e5 + 5;
long long fact[N];
long long invFact[N];
long long fast_pow(long long a, long long p) {
  long long res = 1;
  while (p) {
    if (p % 2 == 0) {
      a = (a * a) % mod;
      p /= 2;
    } else {
      res = (res * a) % mod;
      p--;
    }
  }
  return res;
}
void precalc() {
  fact[0] = invFact[0] = 1;
  for (int i = 1; i < N; i++) {
    fact[i] = (fact[i - 1] * i) % mod;
    invFact[i] = fast_pow(fact[i], mod - 2);
  }
}
long long C(int n, int k) {
  if (k > n) {
    return 0;
  }
  return fact[n] * invFact[k] % mod * invFact[n - k] % mod;
}
long long sumdigit(long long n) {
  long long sum = 0;
  while (n) {
    sum += n % 10;
    n /= 10;
  }
  return sum;
}
void solve() {
  long long n, l, x, y;
  cin >> n >> l >> x >> y;
  vector<long long> arr(n);
  for (long long i = 0; i < n; i++) cin >> arr[i];
  bool fx = 0, fy = 0, fd = 0;
  long long d = y - x;
  set<long long> st;
  for (long long i = 0; i < n; i++) st.insert(arr[i]);
  for (auto v : st) {
    if (st.count((v - x)) || st.count(x + v)) {
      fx = 1;
    }
    if (st.count((v - y)) || st.count(y + v)) {
      fy = 1;
    }
  }
  if (fx && fy) {
    cout << "0\n";
    return;
  }
  if (fx && !fy) {
    cout << "1\n";
    cout << y << '\n';
    return;
  }
  if (!fx && fy) {
    cout << "1\n";
    cout << x << '\n';
    return;
  }
  for (auto v : st) {
    if (st.count(v + x + y)) {
      if (st.count(v + x)) {
        cout << 0 << '\n';
        return;
      }
      cout << 1 << '\n';
      cout << v + x << '\n';
      return;
    }
    if (st.count(v + d)) {
      if (v - x < 0 && v + y > l) continue;
      cout << "1\n";
      if (v - x >= 0)
        cout << v - x << '\n';
      else if (v + y <= l)
        cout << v + y << '\n';
      return;
    }
  }
  cout << "2\n";
  cout << x << " " << y << '\n';
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int t = 1;
  while (t--) solve();
  return 0;
}
