from copy import deepcopy

N,K,X,Y=map(int,input().split())
A=list(map(int,input().split()))
Mod=998244353
T=7

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)