func_code_string: #include <bits/stdc++.h>   using namespace std;   inline int read() {     int x = 0, f = 1;     char ch = getchar();     while (ch <  0  || ch >  9 ) {       if (ch ==  - ) f = -1;       ch = getchar();     }     while (ch >=  0  && ch <=  9 ) {       x = x * 10 + ch -  0 ;       ch = getchar();     }     return x * f;   }   int flag1 = 0, flag2 = 0, flag3 = 0, ff3, flag4 = 0;   int n, a[200000 + 5], x, y;   map<int, bool> mp;   int main() {     n = read();     read();     x = read();     y = read();     for (int i = 1; i <= n; ++i) mp[a[i] = read()] = 1;     for (int i = 1; i <= n; ++i) {       if (mp[a[i] - x]) flag1 = i;       if (mp[a[i] - y]) flag2 = i;       if (mp[a[i] - y + x] && (a[i] - y >= 0 || a[i] + x <= a[n]))         flag3 = i, ff3 = (a[i] - y >= 0) ? a[i] - y : a[i] + x;       ;       if (mp[a[i] - y - x]) flag4 = i;     }     if (flag1 && flag2)       puts( 0 );     else if (flag1 | flag2)       printf( 1 n%d , flag1 ? y : x);     else if (flag3)       printf( 1 n%d , ff3);     else if (flag4)       printf( 1 n%d , a[flag4] - x);     else       printf( 2 n%d %d , x, y);     return 0;   }   