from collections import * from itertools import * from functools import * from heapq import * import sys,math input = sys.stdin.readline mod = 998244353 n = int(input()) op = [tuple(map(int,input().split())) for _ in range(n-1)] def f(q): val = [0]*(n+1) val[0] = 1 val[1] = q idx = 2 for t,a,b in op: if t==1: val[idx] = val[a]+val[b] val[idx] %= mod elif t==2: val[idx] = a*val[b] val[idx] %= mod else: val[idx] = val[a]*val[b] val[idx] %= mod idx += 1 return val[-1] q = int(input()) X = list(map(int,input().split())) for x in X: print(f(x))