#include #include #include #include #include #include #include #include #include #include #include #define L64 long long #define MOD (998244353LL) int main(void) { int n; std::cin >> n; std::vector t(n + 1); std::vector a(n + 1); std::vector b(n + 1); for (int i = 2; i <= n; i++){ std::cin >> t[i] >> a[i] >> b[i]; } int q; std::cin >> q; for (int i_q = 1; i_q <= q; i_q++){ L64 x; std::cin >> x; std::vector f(n + 1); f[0] = 1; f[1] = x; for (int i_n = 2; i_n <= n; i_n++){ switch(t[i_n]){ case 1: f[i_n] = (f[a[i_n]] + f[b[i_n]]) % MOD; break; case 2: f[i_n] = ((L64)a[i_n] * f[b[i_n]]) % MOD; break; case 3: f[i_n] = (f[a[i_n]] * f[b[i_n]]) % MOD; break; } } std::cout << f[n] << std::endl; } }