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