// yukicoder: No.623 fudan no modulus to tigau // 2019.7.6 bal4u #include typedef long long ll; #if 1 #define gc() getchar_unlocked() #else #define gc() getchar() #endif int in() { // 非負整数の入力 int n = 0, c = gc(); do n = 10 * n + (c & 0xf); while ((c = gc()) >= '0'); return n; } #define MOD 998244353 int t[55], a[55], b[55], f[55]; int main() { int i, n, q; n = in(); for (i = 2; i <= n; i++) t[i] = in(), a[i] = in(), b[i] = in(); q = in(); while (q--) { f[0] = 1, f[1] = in(); for (i = 2; i <= n; i++) { if (t[i] == 1) f[i] = (f[a[i]] + f[b[i]]) % MOD; else if (t[i] == 2) f[i] = (ll)a[i] * f[b[i]] % MOD; else f[i] = (ll)f[a[i]] * f[b[i]] % MOD; } printf("%d\n", f[n]); } return 0; }