/*
#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
*/
#include "bits/stdc++.h"
using namespace std;
#define ll long long
#define Ft first
#define Sd second
const int mx = 500;
int jobs, dpnd;
int times[mx+1] = {0};
vector<int> adj[mx+1];
bool vis[mx+1] = {0};
void BFS(const int node, int& res, const int original){
res = 0;
if (vis[node]) return;
vis[node] = true;
vector<int> v;
queue<int> q;
q.push(node);
res += times[node];
while (!q.empty()){
auto s = q.front(); q.pop();
v.push_back(s);
for (auto u : adj[s]){
if (u == original) {
res = 0;
for (auto it : v)
vis[it] = 0;
return;
}
if (vis[u]) continue;
vis[u] = true;
v.push_back(u);
res += times[u];
q.push(u);
}
}
}
void solve(void){
for (int i=1; i <= jobs; i++)
cin >> times[i];
while (dpnd-- > 0){
int j1,j2; cin >> j1 >> j2;
adj[j1].push_back(j2);
}
int Q; cin >> Q;
while (Q-- > 0){
memset(vis, 0, sizeof(vis));
int x; cin >> x;
int Mn = 0;
BFS(x, Mn, x);
if (Mn > 0)
Mn -= times[x];
memset(vis, 0, sizeof(vis));
int Mx = 0, total = 0;
for (int i=1; i <= jobs; i++){
if (i == x) continue;
BFS(i, total, x);
Mx += total;
}
cout << Mx-Mn << '\n';
}
}
int main(void){
ios::sync_with_stdio(0); cin.tie(0);
#ifndef ONLINE_JUDGE
freopen("output.txt", "w", stdout);
#endif
int Case = 1;
while ((cin >> jobs >> dpnd) && jobs) {
cout << "Case #" << Case++ << ":\n";
for (int i=1; i <= jobs; i++)
adj[i].clear();
memset(times, 0, sizeof(times));
memset(vis, 0, sizeof(vis));
solve();
cout << "\n";
}
#ifndef ONLINE_JUDGE
cerr << "Time elapsed: " << 1.0 * clock() / CLOCKS_PER_SEC << " s.\n";
#endif
return 0;
}
LyoKI3ByYWdtYSBHQ0Mgb3B0aW1pemUoIk9mYXN0IikKI3ByYWdtYSBHQ0MgdGFyZ2V0KCJhdngsYXZ4MixmbWEiKQoqLwojaW5jbHVkZSAiYml0cy9zdGRjKysuaCIKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBGdCBmaXJzdAojZGVmaW5lIFNkIHNlY29uZAoKY29uc3QgaW50IG14ID0gNTAwOwoKaW50IGpvYnMsIGRwbmQ7CmludCB0aW1lc1tteCsxXSA9IHswfTsKdmVjdG9yPGludD4gYWRqW214KzFdOwpib29sIHZpc1tteCsxXSA9IHswfTsKCnZvaWQgQkZTKGNvbnN0IGludCBub2RlLCBpbnQmIHJlcywgY29uc3QgaW50IG9yaWdpbmFsKXsKICAgIHJlcyA9IDA7CiAgICBpZiAodmlzW25vZGVdKSByZXR1cm47CgogICAgdmlzW25vZGVdID0gdHJ1ZTsKCiAgICB2ZWN0b3I8aW50PiB2OwoKICAgIHF1ZXVlPGludD4gcTsKICAgIHEucHVzaChub2RlKTsKCiAgICByZXMgKz0gdGltZXNbbm9kZV07CgogICAgd2hpbGUgKCFxLmVtcHR5KCkpewogICAgICAgIGF1dG8gcyA9IHEuZnJvbnQoKTsgICBxLnBvcCgpOwogICAgICAgIHYucHVzaF9iYWNrKHMpOyAKCiAgICAgICAgZm9yIChhdXRvIHUgOiBhZGpbc10pewogICAgICAgICAgICBpZiAodSA9PSBvcmlnaW5hbCkgewogICAgICAgICAgICAgICAgcmVzID0gMDsKICAgICAgICAgICAgICAgIGZvciAoYXV0byBpdCA6IHYpCiAgICAgICAgICAgICAgICAgICAgdmlzW2l0XSA9IDA7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKHZpc1t1XSkgY29udGludWU7CgogICAgICAgICAgICB2aXNbdV0gPSB0cnVlOwogICAgICAgICAgICB2LnB1c2hfYmFjayh1KTsKICAgICAgICAgICAgcmVzICs9IHRpbWVzW3VdOwogICAgICAgICAgICBxLnB1c2godSk7CiAgICAgICAgfQogICAgfQp9Cgp2b2lkIHNvbHZlKHZvaWQpewogICAgZm9yIChpbnQgaT0xOyBpIDw9IGpvYnM7IGkrKykKICAgICAgICBjaW4gPj4gdGltZXNbaV07ICAKCiAgICB3aGlsZSAoZHBuZC0tID4gMCl7CiAgICAgICAgaW50IGoxLGoyOyBjaW4gPj4gajEgPj4gajI7CiAgICAgICAgYWRqW2oxXS5wdXNoX2JhY2soajIpOwogICAgfSAgCgogICAgaW50IFE7IGNpbiA+PiBROwogICAgd2hpbGUgKFEtLSA+IDApewogICAgICAgIG1lbXNldCh2aXMsIDAsIHNpemVvZih2aXMpKTsKICAgICAgICBpbnQgeDsgY2luID4+IHg7CiAgICAgICAgaW50IE1uID0gMDsKICAgICAgICBCRlMoeCwgTW4sIHgpOwogICAgICAgIGlmIChNbiA+IDApCiAgICAgICAgICAgIE1uIC09IHRpbWVzW3hdOwoKICAgICAgICBtZW1zZXQodmlzLCAwLCBzaXplb2YodmlzKSk7CgogICAgICAgIGludCBNeCA9IDAsIHRvdGFsID0gMDsKCiAgICAgICAgZm9yIChpbnQgaT0xOyBpIDw9IGpvYnM7IGkrKyl7CiAgICAgICAgICAgIGlmIChpID09IHgpIGNvbnRpbnVlOwogICAgICAgICAgICAKICAgICAgICAgICAgQkZTKGksIHRvdGFsLCB4KTsKICAgICAgICAgICAgTXggKz0gdG90YWw7CiAgICAgICAgfQoKICAgICAgICBjb3V0IDw8IE14LU1uIDw8ICdcbic7CiAgICB9ICAgIAp9CgppbnQgbWFpbih2b2lkKXsKICAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsgY2luLnRpZSgwKTsKI2lmbmRlZiBPTkxJTkVfSlVER0UKICAgIGZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCk7CiNlbmRpZiAgIAogICAgaW50IENhc2UgPSAxOwoKICAgIHdoaWxlICgoY2luID4+IGpvYnMgPj4gZHBuZCkgJiYgam9icykgewogICAgICAgIGNvdXQgPDwgIkNhc2UgIyIgPDwgQ2FzZSsrIDw8ICI6XG4iOwogICAgICAgIAogICAgICAgIGZvciAoaW50IGk9MTsgaSA8PSBqb2JzOyBpKyspCiAgICAgICAgICAgIGFkaltpXS5jbGVhcigpOwogICAgICAgIAogICAgICAgIG1lbXNldCh0aW1lcywgMCwgc2l6ZW9mKHRpbWVzKSk7CiAgICAgICAgbWVtc2V0KHZpcywgMCwgc2l6ZW9mKHZpcykpOwoKICAgICAgICBzb2x2ZSgpOwoKICAgICAgICBjb3V0IDw8ICJcbiI7CiAgICB9CgojaWZuZGVmIE9OTElORV9KVURHRQogICAgY2VyciA8PCAiVGltZSBlbGFwc2VkOiAiIDw8IDEuMCAqIGNsb2NrKCkgLyBDTE9DS1NfUEVSX1NFQyA8PCAiIHMuXG4iOwojZW5kaWYKICAgIHJldHVybiAwOwp9