from bisect import bisect_left mod = 998244353 def solve(): N, L = map(int, input().split()) D = set(map(int, input().split())) C = 0 if L%2 == 0: for d in D: op = d + L//2 if op in D: C += 1 if C <= 1: ans = 0 for i in range(1, N+1): ans += N * pow(i, -1, mod) ans %= mod print(ans) return dp = [[0 for j in range(C+1)] for i in range(3)] for i in range(2, -1, -1): for j in range(C, -1, -1): if i > j: continue if i == 2: dp[i][j] = 0 continue dp[i][j] = 1 if j < C: dp[i][j] += 2 * (C - j) * pow(N, -1, mod) % mod * dp[i][j+1] dp[i][j] %= mod if i < j: dp[i][j] += (j - i) * pow(N, -1, mod) % mod * dp[i+1][j] dp[i][j] %= mod dp[i][j] *= N * pow(2 * C - i - j, -1, mod) % mod dp[i][j] %= mod print(dp[0][0]) for _ in range(int(input())): solve()