N,K,X,Y=map(int,input().split()) A=list(map(int,input().split())) mod=998244353 S=set(A) LEN=len(S) DP=[[0]*16 for i in range(N+1)] DP[0][0]=1 for i in range(1,N+1): DP[2][0]=0 for j in range(16): for s in S: DP[i][j^s]+=DP[i-1][j] DP[i][j^s]%=mod DP[i][j]-=DP[i-2][j]*LEN DP[i][j]+=DP[i-2][j] ANS=0 for i in range(X,min(Y+1,16)): ANS=(ANS+DP[N][i])%mod print(ANS)