func_code_string: #include <bits/stdc++.h>   using namespace std;   const double pi = acos(-1.0);   const double eps = 1e-8;   int main() {     ios_base::sync_with_stdio(0);     map<long long, bool> mapa;     long long in[200009];     long long n, len, x, y;     cin >> n >> len >> x >> y;     for (int i = 0; i < n; i++) {       cin >> in[i];       mapa[in[i]] = true;     }     bool x_mila = false, y_mila = false;     for (int i = 0; i < n; i++) {       if (mapa[in[i] - x] == true) x_mila = true;       if (mapa[in[i] + x] == true) x_mila = true;       if (mapa[in[i] - y] == true) y_mila = true;       if (mapa[in[i] + y] == true) y_mila = true;     }     if (x_mila && y_mila) {       cout <<  0  << endl;       return 0;     }     vector<int> opt;     for (int i = 0; i < n; i++) {       if (in[i] - x >= 0) opt.push_back(in[i] - x);       if (in[i] + x <= len) opt.push_back(in[i] + x);       if (in[i] - y >= 0) opt.push_back(in[i] - y);       if (in[i] + y <= len) opt.push_back(in[i] + y);     }     for (int i = 0; i < ((int)(opt.size())); i++) {       bool xm = false, ym = false;       int curr = opt[i];       if (mapa[curr - x] || mapa[curr + x]) xm = true;       if (mapa[curr - y] || mapa[curr + y]) ym = true;       if ((xm && ym) || (x_mila && ym) || (xm && y_mila)) {         cout <<  1  << endl;         cout << curr << endl;         return 0;       }     }     cout <<  2  << endl;     cout << x <<     << y << endl;     return 0;   }   