MOD = 998244353 half = pow(2, -1, MOD) def nC2(n): return n*(n-1)%MOD*half%MOD N, M = map(int, input().split()) A = list(map(int, input().split())) cnt = A[0]+A[-1] for i in range(N-1): cnt += A[i]^A[i+1] dp = [0]*(N+2) dp[cnt] = 1 ndp = [0]*(N+2) for _ in range(M): for i in range(N+2): ndp[i] = 0 for i in range(N+2): a, b = N+1-i, i if b+2 <= N+1: ndp[i+2] += dp[i]*nC2(a)%MOD ndp[i+2] %= MOD ndp[i] += dp[i]*a%MOD*b%MOD ndp[i] %= MOD if 2 <= b: ndp[i-2] += dp[i]*nC2(b)%MOD ndp[i-2] %= MOD dp, ndp = ndp, dp print(dp[0])