func_code_string: #include <bits/stdc++.h>   using namespace std;   map<long long, bool> isMark;   int main() {     long long n, x, y, l;     cin >> n >> l >> x >> y;     bool b = 0, g = 0, d = 0, bd = 0;     long long diff = y - x, B = y + x;     long long tmp;     long long mark = -1, mark2 = -1;     bool n1 = 1, n2 = 1;     for (int i = 0; i < n; i++) {       cin >> tmp;       isMark[tmp] = 1;       b |= isMark.count(tmp - x);       g |= isMark.count(tmp - y);       d |= isMark.count(tmp - diff);       bd |= isMark.count(tmp - B);       if (b && g) {         cout <<  0 ;         return 0;       }       if (d && n1) {         long long idx = tmp + x;         if (idx > l) {           idx = tmp - y;           if (idx >= 0) {             mark = idx;           }         } else {           mark = idx;         }         if (mark == -1) {           d = 0;         } else {           n1 = 0;         }       }       if (bd && n2) {         mark2 = tmp - y;         n2 = 0;       }     }     if (b & !g) {       cout <<  1 n  << y;     } else if (g & !b) {       cout <<  1 n  << x;     } else if (d) {       cout <<  1 n ;       cout << mark;     } else if (bd) {       cout <<  1 n  << mark2 <<   n ;     } else {       cout <<  2 n ;       cout << x <<     << y;     }     return 0;   }   