#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; const int MOD = 998244353; int main() { int n; cin >> n; vector t(n+1), a(n+1), b(n+1); for(int i=2; i<=n; ++i) cin >> t[i] >> a[i] >> b[i]; int q; cin >> q; while(--q >= 0){ int x; cin >> x; vector f(n+1); f[0] = 1; f[1] = x; for(int 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] = (a[i] * f[b[i]]) % MOD; else f[i] = (f[a[i]] * f[b[i]]) % MOD; } cout << f[n] << endl; } return 0; }