#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define popcount __builtin_popcount using namespace std; typedef long long ll; typedef pair P; int main() { int n, k, x, y; cin>>n>>k>>x>>y; vector a(k); for(int i=0; i>a[i]; } sort(a.begin(), a.end()); a.erase(unique(a.begin(), a.end()), a.end()); k=a.size(); const ll MOD=998244353; auto dfs=[&](auto dfs, int s, int t, int m, vector &c){ if(m==n/2-1){ c[s]++; return; } for(int i=0; i v(1024); vector vc[1024]; for(int i=0; i=x && (i^j)<=y) ans+=v[i]*v[j]; for(int i=0; i=x && (j^l)<=y) ans-=vc[i][j]*vc[i][l]; } } cout<