#include <bits/stdc++.h>
using namespace std;
void printArray(long long start, long long end, int arr[]) {
  for (long long i = start; i < end; i++) cout << arr[i] << " ";
  cout << "\n";
}
void printVector(long long start, long long end, vector<int> vec) {
  for (long long i = start; i < end; i++) cout << vec[i] << " ";
  cout << "\n";
}
long long nextPerfectSquare(long long N) {
  long long nextN = floor(sqrt(N)) + 1;
  if (sqrt(N) == floor(sqrt(N))) nextN--;
  return nextN * nextN;
}
long long countSetBits(long long n) {
  long long count = 0;
  while (n) {
    count += n & 1;
    n >>= 1;
  }
  return count;
}
void solve() {
  int n, l, x, y, i;
  cin >> n >> l >> x >> y;
  int A[n];
  vector<int> ans;
  for (i = 0; i < n; i++) cin >> A[i];
  ans.clear();
  for (i = 0; i < n; i++)
    if (binary_search(A, A + n, A[i] - x)) break;
  if (i == n) {
    for (i = 0; i < n; i++) {
      if (A[i] > x) {
        ans.push_back(A[i] - x);
        break;
      }
    }
  }
  for (i = 0; i < n; i++) {
    if (binary_search(A, A + n, A[i] - y)) break;
  }
  if (i == n) {
    for (i = 0; i < n; i++) {
      if (A[i] > y) {
        ans.push_back(A[i] - y);
        break;
      }
    }
  }
  if (ans.size() > 1) {
    for (i = 0; i < n; i++) {
      if (binary_search(A, A + n, A[i] - x + y) && A[i] - x > 0) {
        cout << 1 << "\n";
        cout << A[i] - x << "\n";
        return;
      }
      if (binary_search(A, A + n, A[i] - x - y) && A[i] - x > 0) {
        cout << 1 << "\n";
        cout << A[i] - x << "\n";
        return;
      }
      if (binary_search(A, A + n, A[i] + x - y) && A[i] + x < l) {
        cout << 1 << "\n";
        cout << A[i] + x << "\n";
        return;
      }
      if (binary_search(A, A + n, A[i] + x + y) && A[i] + x < l) {
        cout << 1 << "\n";
        cout << A[i] + x << "\n";
        return;
      }
    }
  }
  cout << ans.size() << "\n";
  sort(ans.begin(), ans.end());
  printVector(0, ans.size(), ans);
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long t = 1;
  while (t--) {
    solve();
  }
  return 0;
}
