long N=1024,d[1<<16]={1},A[1025],r;k,m,x,y,a,i;main(n){for(scanf("%d%d%d%d",&n,&m,&x,&y);~scanf("%d",&a);)k+=A[a]?0:++A[a];for(;i<n*N;i+=N)for(a=N;a--;){for(m=N;m--;)d[i+N+a^m]+=A[m]*d[i+a];d[i+N*2+a]-=d[i+a]*(k-!!i);}for(;x<N;)r+=(x<=y)*d[i+x++];printf("%d",r%998244353);}