#include using namespace std; typedef long long ll; typedef vector vi; typedef vector vl; typedef pair pii; typedef pair pll; typedef int _loop_int; #define REP(i,n) for(_loop_int i=0;i<(_loop_int)(n);++i) #define FOR(i,a,b) for(_loop_int i=(_loop_int)(a);i<(_loop_int)(b);++i) #define FORR(i,a,b) for(_loop_int i=(_loop_int)(b)-1;i>=(_loop_int)(a);--i) #define DEBUG(x) cout<<#x<<": "< P; int n; int t[52], a[52], b[52]; ll fx[52]; int main(){ scanf("%d",&n); FOR(i,2,n+1)scanf("%d%d%d",t+i,a+i,b+i); int q; scanf("%d",&q); while(q--){ ll x; scanf("%lld", &x); fx[0] = 1; fx[1] = x; FOR(i,2,n+1){ if(t[i]==1){ fx[i] = (fx[a[i]] + fx[b[i]]) % MOD; }else if(t[i]==2){ fx[i] = a[i] * fx[b[i]] % MOD; }else{ fx[i] = fx[a[i]] * fx[b[i]] % MOD; } } printf("%lld\n",fx[n]); } return 0; }