#include <bits/stdc++.h>
using namespace std;
int A[200000 + 5];
int main() {
  int n, L, x, y;
  scanf("%d%d%d%d", &n, &L, &x, &y);
  for (int i = 0; i < n; ++i) scanf("%d", &A[i]);
  bool enx = 0, eny = 0;
  for (int i = 0; i < n; ++i) {
    if (binary_search(A, A + n, A[i] + x)) enx = 1;
    if (binary_search(A, A + n, A[i] + y)) eny = 1;
  }
  if (enx && eny)
    puts("0");
  else if (enx && !eny) {
    puts("1");
    printf("%d\n", y);
  } else if (!enx && eny) {
    puts("1");
    printf("%d\n", x);
  } else {
    bool ok = 0;
    for (int i = 0; i < n; ++i) {
      if (binary_search(A, A + n, A[i] + x + y)) {
        puts("1");
        printf("%d\n", A[i] + x);
        ok = 1;
        break;
      }
    }
    if (!ok) {
      int dif = y - x;
      for (int i = 0; i < n; ++i) {
        if (binary_search(A, A + n, A[i] + dif)) {
          if (A[i] + y <= L) {
            puts("1");
            printf("%d\n", A[i] + y);
            ok = 1;
            break;
          }
          if (A[i] + dif - y >= 0) {
            puts("1");
            printf("%d\n", A[i] + dif - y);
            ok = 1;
            break;
          }
        }
      }
    }
    if (!ok) {
      puts("2");
      printf("%d %d\n", x, y);
    }
  }
}
