N,K=map(int,input().split()) A=list(map(int,input().split())) A.sort() B=[1] for i in range(1,N): if A[i]!=A[i-1]: B.append(1) else: B[-1]+=1 M=len(B) mod=998244353 DP=[[0]*(K+1) for i in range(M+1)] DP[0][0]=1 C=0 for i in range(M): dpnow=[[0]*(K+1) for j in range(C+1)] dpnext=[[0]*(K+2) for j in range(C+2)] dpnow[0]=DP[i][:] for t in range(B[i]): for j in range(C+1): for k in range(K+1): if j+k<=K: dpnext[j][j+k]+=dpnow[j][k] if dpnext[j][j+k]>=mod: dpnext[j][j+k]-=mod for j in range(C+1): for k in range(K+1): dpnext[j+1][k+1]+=dpnext[j][k] if dpnext[j+1][k+1]>=mod: dpnext[j+1][k+1]-=mod dpnow[j][k]=dpnext[j][k] dpnext[j][k]=0 for j in range(C): for k in range(K+1): dpnow[C][k]+=dpnow[j][k] if dpnow[C][k]>=mod: dpnow[C][k]-=mod DP[i+1]=dpnow[C][:] C+=B[i] print(DP[M][K])