import sys input = lambda :sys.stdin.readline()[:-1] ni = lambda :int(input()) na = lambda :list(map(int,input().split())) yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES") no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO") ####################################################################### """ S = k について 操作したとき 辺の数が もともと x だったとき k * (k + 1) / 2 - 2x k * (k - 1) = 4x x < k k <= 4 (k, x) = (4, 3), (3, ) """ mod = 998244353 def solve(n, g): dp = [[1, 0, 0, 0, 0] for i in range(n)] q = [0] seen = [0] * n seen[0] = 1 et = [] par = [-1] * n while q: x = q.pop() et.append(x) for y in g[x]: if seen[y]: continue seen[y] = 1 q.append(y) par[y] = x ans = 0 for i in et[::-1]: ans += dp[i][3] + dp[i][2] * dp[i][1] if par[i] != -1: ans -= dp[i][0] * dp[i][1] for j in range(4): dp[par[i]][j+1] += dp[i][j] # print(i, dp[i]) return ans % mod for _ in range(ni()): n = ni() g = [[]for i in range(n)] for _ in range(n-1): u, v = na() u -= 1 v -= 1 g[u].append(v) g[v].append(u) print(solve(n, g))