#include <bits/stdc++.h>
using namespace std;
const int N = 100030;
map<int, int> mp;
int q1, q2, n, m, x, y, a[N], xx, yy, w1, w2;
void f(int v) {
  if (mp[v + x] == 1) q1 = 1;
  if (mp[v + y] == 1) q2 = 1;
  if (v - x >= 0 && (mp[v - x - y] == 1 || mp[v - x + y] == 1)) {
    w1 = 1;
    xx = v - x;
  }
  if (v - y >= 0 && (mp[v - y + x] == 1 || mp[v - y - x] == 1)) {
    w2 = 1;
    yy = v - y;
  }
  if (v + x <= m && (mp[v + x - y] == 1 || mp[v + x + y] == 1)) {
    w1 = 1;
    xx = v + x;
  }
  if (v + y <= m && (mp[v + y - x] == 1 || mp[v + y + x] == 1)) {
    w2 = 1;
    yy = v - x;
  }
}
int main() {
  cin.tie(NULL);
  ios_base::sync_with_stdio(false);
  cin >> n >> m >> x >> y;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
    mp[a[i]] = 1;
  }
  for (int i = 1; i <= n; i++) {
    f(a[i]);
  }
  if (q1 + q2 == 2)
    cout << 0;
  else if (q1 == 1)
    cout << 1 << endl << y;
  else if (q2 == 1)
    cout << 1 << endl << x;
  else if (w1 == 1)
    cout << 1 << endl << xx;
  else if (w2 == 1)
    cout << 1 << endl << yy;
  else
    cout << 2 << endl << x << ' ' << y;
}
