import sys input = sys.stdin.read MOD = 998244353 data = input().split() index = 0 N = int(data[index]) index += 1 X = [[0] * (N + 1) for _ in range(N + 1)] for u in range(N + 1): for v in range(N + 1): X[u][v] = int(data[index]) index += 1 Q = int(data[index]) index += 1 results = [] for _ in range(Q): K_q = int(data[index]) index += 1 operations = [] for _ in range(K_q): A = int(data[index]) B = int(data[index + 1]) C = int(data[index + 2]) operations.append((A, B, C)) index += 3 M = [row[:] for row in X] for (A, B, C) in operations: M[A][B] = (M[A][B] + C) % MOD dp = [0] * (N + 1) dp[0] = 1 for u in range(N + 1): for v in range(u + 1, N + 1): if M[u][v] > 0: dp[v] = (dp[v] + dp[u] * M[u][v]) % MOD results.append(dp[N]) sys.stdout.write('\n'.join(map(str, results)) + '\n')