func_code_string: #include <bits/stdc++.h>   using namespace std;   int main() {     int n, l, x, y;     cin >> n >> l >> x >> y;     set<int> d;     for (int i = 0; i < n; ++i) {       int t;       cin >> t;       d.insert(t);     }     bool issetX = false, issetY = false;     for (set<int>::iterator i = d.begin(); i != d.end(); ++i) {       if (d.find(*i + x) != d.end()) {         issetX = true;       }       if (d.find(*i + y) != d.end()) {         issetY = true;       }     }     if (issetX && issetY) {       cout << 0;       return 0;     } else if (issetX) {       cout <<  1   << endl << y;     } else if (issetY) {       cout <<  1   << endl << x;     } else {       int point = -1;       for (set<int>::iterator i = d.begin(); i != d.end(); ++i) {         if (d.find(*i + (y - x)) != d.end()) {           if (*i - x >= 0) {             point = *i - x;             break;           } else if (*i + (y - x) + x <= l) {             point = *i + (y - x) + x;             break;           }         }         if (d.find(*i + (y + x)) != d.end()) {           point = *i + x;           break;         }       }       if (point < 0) {         cout <<  2   << endl << x <<     << y;       } else {         cout <<  1   << endl << point;       }     }     return 0;   }   