#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define CLR(x,y) memset(x,y,sizeof(x))
#define SQ(x) ((x)*(x))
#define ALL(x) (x).begin(),(x).end()
#define LL long long
inline LL bigmod ( LL a, LL p, LL m ) {
LL res = 1 % m, x = a % m;
while ( p ) {
if ( p & 1 ) res = ( res * x ) % m;
x = ( x * x ) % m; p >>= 1;
}
return res;
}
const LL inf = 10000000000000000;
const int Size = 1000055;
LL MOD[25];
int N,M,K,Q;
LL B[Size];
vector<int> Graph[Size];
vector<int> LEVEL[25];
int ID[Size];
int SIZE[25];
LL DP[Size][25];
/// cur = current node
/// d = distance between the current node and the node whose attractive value we are calculating.
LL call(int cur,int d){
if(DP[cur][d] != -1) return DP[cur][d];
LL res = 0;
for(int i = 0;i<Graph[cur].size();i++){
int v = Graph[cur][i];
LL Av = call(v,d+1);
res = (res + bigmod(B[cur],Av,MOD[d]));
}
if(Graph[cur].size() == 0) res = B[cur]%MOD[d];
return DP[cur][d] = res%MOD[d];
}
int main () {
MOD[1] = 1000000007;
MOD[2] = 1000000006;
MOD[3] = 500000002;
MOD[4] = 243900800;
MOD[5] = 79872000;
MOD[6] = 19660800;
MOD[7] = 5242880;
MOD[8] = 2097152;
MOD[9] = 1048576;
MOD[10] = 524288;
MOD[11] = 262144;
MOD[12] = 131072;
MOD[13] = 65536;
MOD[14] = 32768;
MOD[15] = 16384;
MOD[16] = 8192;
MOD[17] = 4096;
MOD[18] = 2048;
MOD[19] = 1024;
MOD[20] = 512;
int u,v;
scanf("%d %d %d",&N,&M,&K);
for(int i = 1;i<=N;i++){
scanf("%lld",&B[i]);
}
for(int lvl = 1;lvl<=K;lvl++){
scanf("%d",&SIZE[lvl]);
for(int i = 1;i<=SIZE[lvl];i++){
scanf("%d",&u);
LEVEL[lvl].pb(u);
ID[u] = lvl;
}
}
for(int i = 1;i<=M;i++){
scanf("%d %d",&u,&v);
if(ID[u] < ID[v]) Graph[u].pb(v);
else Graph[v].pb(u);
}
CLR(DP,-1);
scanf("%d",&Q);
for(int i = 1;i<=Q;i++){
scanf("%d",&u);
LL res = call(u,1);
printf("%lld\n",res);
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIENMUih4LHkpIG1lbXNldCh4LHksc2l6ZW9mKHgpKQojZGVmaW5lIFNRKHgpICgoeCkqKHgpKQojZGVmaW5lIEFMTCh4KSAoeCkuYmVnaW4oKSwoeCkuZW5kKCkKI2RlZmluZSBMTCBsb25nIGxvbmcKCmlubGluZSBMTCBiaWdtb2QgKCBMTCBhLCBMTCBwLCBMTCBtICkgewogICAgTEwgcmVzID0gMSAlIG0sIHggPSBhICUgbTsKICAgIHdoaWxlICggcCApIHsKICAgICAgICBpZiAoIHAgJiAxICkgcmVzID0gKCByZXMgKiB4ICkgJSBtOwogICAgICAgIHggPSAoIHggKiB4ICkgJSBtOyBwID4+PSAxOwogICAgfQogICAgcmV0dXJuIHJlczsKfQoKY29uc3QgTEwgaW5mID0gMTAwMDAwMDAwMDAwMDAwMDA7CmNvbnN0IGludCBTaXplID0gMTAwMDA1NTsKCkxMIE1PRFsyNV07CgppbnQgTixNLEssUTsKTEwgQltTaXplXTsKdmVjdG9yPGludD4gR3JhcGhbU2l6ZV07CnZlY3RvcjxpbnQ+IExFVkVMWzI1XTsKaW50IElEW1NpemVdOwppbnQgU0laRVsyNV07CgpMTCBEUFtTaXplXVsyNV07CgovLy8gY3VyID0gY3VycmVudCBub2RlCi8vLyBkID0gZGlzdGFuY2UgYmV0d2VlbiB0aGUgY3VycmVudCBub2RlIGFuZCB0aGUgbm9kZSB3aG9zZSBhdHRyYWN0aXZlIHZhbHVlIHdlIGFyZSBjYWxjdWxhdGluZy4KCkxMIGNhbGwoaW50IGN1cixpbnQgZCl7CiAgICBpZihEUFtjdXJdW2RdICE9IC0xKSByZXR1cm4gRFBbY3VyXVtkXTsKCiAgICBMTCByZXMgPSAwOwogICAgZm9yKGludCBpID0gMDtpPEdyYXBoW2N1cl0uc2l6ZSgpO2krKyl7CiAgICAgICAgaW50IHYgPSBHcmFwaFtjdXJdW2ldOwogICAgICAgIExMIEF2ID0gY2FsbCh2LGQrMSk7CiAgICAgICAgcmVzID0gKHJlcyArIGJpZ21vZChCW2N1cl0sQXYsTU9EW2RdKSk7CiAgICB9CgogICAgaWYoR3JhcGhbY3VyXS5zaXplKCkgPT0gMCkgcmVzID0gQltjdXJdJU1PRFtkXTsKCiAgICByZXR1cm4gRFBbY3VyXVtkXSA9IHJlcyVNT0RbZF07Cn0KCmludCBtYWluICgpIHsKCiAgICBNT0RbMV0gPSAxMDAwMDAwMDA3OwogICAgTU9EWzJdID0gMTAwMDAwMDAwNjsKICAgIE1PRFszXSA9IDUwMDAwMDAwMjsKICAgIE1PRFs0XSA9IDI0MzkwMDgwMDsKICAgIE1PRFs1XSA9IDc5ODcyMDAwOwogICAgTU9EWzZdID0gMTk2NjA4MDA7CiAgICBNT0RbN10gPSA1MjQyODgwOwogICAgTU9EWzhdID0gMjA5NzE1MjsKICAgIE1PRFs5XSA9IDEwNDg1NzY7CiAgICBNT0RbMTBdID0gNTI0Mjg4OwogICAgTU9EWzExXSA9IDI2MjE0NDsKICAgIE1PRFsxMl0gPSAxMzEwNzI7CiAgICBNT0RbMTNdID0gNjU1MzY7CiAgICBNT0RbMTRdID0gMzI3Njg7CiAgICBNT0RbMTVdID0gMTYzODQ7CiAgICBNT0RbMTZdID0gODE5MjsKICAgIE1PRFsxN10gPSA0MDk2OwogICAgTU9EWzE4XSA9IDIwNDg7CiAgICBNT0RbMTldID0gMTAyNDsKICAgIE1PRFsyMF0gPSA1MTI7CgogICAgaW50IHUsdjsKICAgIHNjYW5mKCIlZCAlZCAlZCIsJk4sJk0sJkspOwogICAgZm9yKGludCBpID0gMTtpPD1OO2krKyl7CiAgICAgICAgc2NhbmYoIiVsbGQiLCZCW2ldKTsKICAgIH0KICAgIGZvcihpbnQgbHZsID0gMTtsdmw8PUs7bHZsKyspewogICAgICAgIHNjYW5mKCIlZCIsJlNJWkVbbHZsXSk7CiAgICAgICAgZm9yKGludCBpID0gMTtpPD1TSVpFW2x2bF07aSsrKXsKICAgICAgICAgICAgc2NhbmYoIiVkIiwmdSk7CiAgICAgICAgICAgIExFVkVMW2x2bF0ucGIodSk7CiAgICAgICAgICAgIElEW3VdID0gbHZsOwogICAgICAgIH0KICAgIH0KCiAgICBmb3IoaW50IGkgPSAxO2k8PU07aSsrKXsKICAgICAgICBzY2FuZigiJWQgJWQiLCZ1LCZ2KTsKICAgICAgICBpZihJRFt1XSA8IElEW3ZdKSBHcmFwaFt1XS5wYih2KTsKICAgICAgICBlbHNlIEdyYXBoW3ZdLnBiKHUpOwogICAgfQoKICAgIENMUihEUCwtMSk7CgogICAgc2NhbmYoIiVkIiwmUSk7CiAgICBmb3IoaW50IGkgPSAxO2k8PVE7aSsrKXsKICAgICAgICBzY2FuZigiJWQiLCZ1KTsKICAgICAgICBMTCByZXMgPSBjYWxsKHUsMSk7CiAgICAgICAgcHJpbnRmKCIlbGxkXG4iLHJlcyk7CiAgICB9CiAgICByZXR1cm4gMDsKfQo=