from copy import deepcopy N,_,X,Y=map(int,input().split()) A=list(set(map(int,input().split()))) K=len(A) Mod=998244353 T=1023 Z=[[0]*(T+1) for _ in range(K)] DP=deepcopy(Z) for i in range(K): DP[i][A[i]]=1 for _ in range(N-1): ODP,DP=DP,deepcopy(Z) S=[0]*(T+1) for i in range(K): E=ODP[i] for x in range(T+1): S[x]+=E[x] S[x]%=Mod for i in range(K): E=DP[i] F=ODP[i] a=A[i] for x in range(T+1): E[x]=S[x^a]-F[x^a] B=0 for L in DP: B+=sum(L[X:Y+1]) B%=Mod print(B)