n,m,k=map(int,input().split());mod=998244353 a=list(map(int,input().split())) a.sort() q,w=0,0 l,r=[0]*n,[0]*n for i in range(n): while a[i]-k>a[q]: q+=1 while w=a[w]: w+=1 l[i]=q;r[i]=w dp=[0]*(n+1);dp[0]=1;dp[-1]=mod-1 for i in range(m-1): dp2=[0]*(n+1) for j in range(n): dp[j+1]+=dp[j];dp[j+1]%=mod dp2[l[j]]+=dp[j];dp2[l[j]]%=mod dp2[r[j]]+=mod-dp[j];dp2[r[j]]%=mod dp=dp2 ans=0 for i in range(n): dp[i+1]+=dp[i] ans+=dp[i] print(ans%mod)