from sys import stdin input = stdin.readline MOD = 998244353 for _ in range(int(input())): N, M = map(int, input().split()) X = list(map(int, input().split())) cnt = X.count(-1) if cnt <= 1: if cnt == 1: SUM = 0 for x in X: if x != -1: SUM += x SUM %= M X[X.index(-1)] = (M-SUM)%M else: if sum(X)%M != 0: print(0) continue ans = 0 SUM = 0 for x in X: SUM += x SUM %= M if SUM != 0: ans += 1 print(ans) continue POW = [1] for _ in range(N): POW.append(POW[-1]*M%MOD) leftC = 0 leftS = 0 rightC = 0 rightS = 0 for x in X: if x == -1: rightC += 1 else: rightS += x rightS %= M ans = 0 for x in X: if x == -1: rightC -= 1 if 1 <= rightC: ans += POW[leftC]*(M-1)%MOD*POW[rightC-1]%MOD ans %= MOD else: if rightS != 0: ans += POW[leftC] ans %= MOD leftC += 1 else: rightS -= x if 1 <= rightC: if 1 <= leftC: ans += POW[leftC-1]*(M-1)%MOD*POW[rightC-1]%MOD ans %= MOD else: if (leftS+x)%M != 0: ans += POW[rightC-1] ans %= MOD else: if rightS != 0: ans += POW[leftC-1] ans %= MOD leftS += x print(ans)