int N,K,M,X,Y,A[1024],B[1024],i,j,k; long d[40][1024],z; int main(){ scanf("%d%d%d%d",&N,&K,&X,&Y); for(;K--;){ int k;scanf("%d",&k); if(!B[k]++){ A[M++]=k; } } for(i=M;i--;){ ++d[0][A[i]]; for(j=M;j--;)if(j!=i){ ++d[1][A[i]^A[j]]; } } for(i=2;i=X;--i){ z+=d[N-1][i]; } printf("%ld\n",z%998244353); return 0; }