#include <bits/stdc++.h>
using namespace std;
long long mod = 1000000007;
int n, ll, x, y;
vector<int> a;
int t;
using namespace std;
int main() {
  cin >> n >> ll >> y >> x;
  for (int i = 0; i < n; i++) {
    cin >> t;
    a.push_back(t);
  }
  bool hx = false;
  bool hy = false;
  int l = 0;
  int r = 0;
  while (r < n) {
    if (a[r] - a[l] == x) {
      hx = 1;
      break;
    }
    if (a[r] - a[l] < x) {
      r++;
    } else {
      l++;
    }
  }
  l = 0;
  r = 0;
  while (r < n) {
    if (a[r] - a[l] == y) {
      hy = 1;
      break;
    }
    if (a[r] - a[l] < y) {
      r++;
    } else {
      l++;
    }
  }
  if (hx && hy) {
    cout << 0 << endl;
  } else if (hx) {
    cout << 1 << endl;
    cout << y << endl;
  } else if (hy) {
    cout << 1 << endl;
    cout << x << endl;
  } else {
    l = 0;
    r = 0;
    while (r < n) {
      if (a[r] - a[l] == x + y) {
        cout << 1 << endl;
        cout << a[l] + x << endl;
        return 0;
      }
      if (a[r] - a[l] < x + y) {
        r++;
      } else {
        l++;
      }
    }
    l = 0;
    r = 0;
    while (r < n) {
      if (a[r] - a[l] == x - y && a[l] - y >= 0) {
        cout << 1 << endl;
        cout << a[l] - y << endl;
        return 0;
      }
      if (a[r] - a[l] < x - y) {
        r++;
      } else {
        l++;
      }
    }
    l = 0;
    r = 0;
    while (r < n) {
      if (a[r] - a[l] == x - y && a[r] + y <= ll) {
        cout << 1 << endl;
        cout << a[r] + y << endl;
        return 0;
      }
      if (a[r] - a[l] < x - y) {
        r++;
      } else {
        l++;
      }
    }
    cout << 2 << endl;
    cout << x << endl;
    cout << y << endl;
  }
  return 0;
}
