func_code_string: #include <bits/stdc++.h>   using namespace std;   int main() {     std::ios_base::sync_with_stdio(false);     int n;     long long l, first, second;     cin >> n >> l >> first >> second;     vector<long long> a(n);     map<long long, bool> flag;     for (int i = 0; i < int(n); i++) {       cin >> a[i];       flag[a[i]] = true;     }     bool fx = false, fy = false;     for (int i = n - 1; i >= 0; i--) {       if (flag.count(a[i] - first)) fx = true;       if (flag.count(a[i] - second)) fy = true;     }     if (!fx && !fy) {       long long diff = second - first;       for (int i = 0; i < n; i++) {         if (flag.count(a[i] - diff)) {           if (a[i] + first <= l) {             cout << 1 <<   n ;             cout << a[i] + first;             return 0;           }           if (a[i] - second >= 0) {             cout << 1 <<   n ;             cout << a[i] - second;             return 0;           }         }       }       long long add = first + second;       for (int i = 0; i < n; i++) {         if (flag.count(a[i] + add)) {           if (a[i] + first <= l) {             cout << 1 <<   n ;             cout << a[i] + first;             return 0;           }         }       }       cout << 2 <<   n ;       cout << first <<     << second;     } else if (!fx) {       cout << 1 <<   n ;       cout << first;     } else if (!fy) {       cout << 1 <<   n ;       cout << second;     } else       cout <<  0 n ;     return 0;   }   