MOD = 998244353

def solve():
    N, M = map(int, input().split())
    X = list(map(int, input().split()))

    c = 0
    for i in range(N):
        if X[i] == -1:
            c += 1
    
    l, r = -1, -1
    res = 0
    s = 0
    for i in range(N):
        if X[i] == -1:
            l = i
            break
        s += X[i]
        s %= M
        if s == 0:
            res += 1
    if l == -1:
        if s == 0:
            print(N - res)
        else:
            print(0)
        return
    
    s = 0
    for i in range(N - 1, -1, -1):
        if X[i] == -1:
            r = i
            break
        s += X[i]
        s %= M
        if s == 0:
            res += 1

    inv = pow(M, MOD - 2, MOD)
    res += 1 + (r - l) * inv
    # print(res)
    
    print(((N - res) * pow(M, c - 1, MOD)) % MOD)


T = int(input())
for _ in range(T):
    solve()