#include <bits/stdc++.h>
using namespace std;
#define llint long long
#define pb push_back
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
llint v, e;
cin >> v >> e;
llint t = 1;
while (v != 0 || e != 0)
{
llint arr[v+1];
for (int i = 1; i <= v; i++) cin >> arr[i];
llint sum = 0;
for (int i = 1; i <= v; i++) sum += arr[i];
vector<llint> adj1[v+1];
bool vis1[v+1];
vector<llint> adj2[v+1];
bool vis2[v+1];
while (e--)
{
llint x, y;
cin >> x >> y;
adj1[x].pb(y);
adj2[y].pb(x);
}
cout << "Case #" << t++ << ":" << endl;
llint q;
cin >> q;
while (q--)
{
for (llint i = 1; i <= v; i++)
{
vis1[i] = false;
vis2[i] = false;
}
llint s;
cin >> s;
llint mint = -arr[s];
queue <llint> q1;
vis1[s] = true;
q1.push(s);
while (!q1.empty())
{
llint p = q1.front();
q1.pop();
mint += arr[p];
for (llint i = 0; i < adj1[p].size(); i++)
{
llint c = adj1[p][i];
if (vis1[c] == false)
{
q1.push(c);
vis1[c] = true;
}
}
}
llint maxt = sum;
queue <llint> q2;
vis2[s] = true;
q2.push(s);
while (!q2.empty())
{
llint p = q2.front();
q2.pop();
maxt -= arr[p];
for (llint i = 0; i < adj2[p].size(); i++)
{
llint c = adj2[p][i];
if (vis2[c] == false)
{
q2.push(c);
vis2[c] = true;
}
}
}
cout << maxt - mint << endl;
}
cout << endl;
cin >> v >> e;
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGxsaW50IGxvbmcgbG9uZwojZGVmaW5lIHBiIHB1c2hfYmFjawoKaW50IG1haW4oKQp7Cmlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwpjaW4udGllKE5VTEwpOwoKbGxpbnQgdiwgZTsKY2luID4+IHYgPj4gZTsKbGxpbnQgdCA9IDE7CndoaWxlICh2ICE9IDAgfHwgZSAhPSAwKQp7CiAgICBsbGludCBhcnJbdisxXTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IHY7IGkrKykgICAgY2luID4+IGFycltpXTsKCiAgICBsbGludCBzdW0gPSAwOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gdjsgaSsrKSAgICBzdW0gKz0gYXJyW2ldOwoKICAgIHZlY3RvcjxsbGludD4gYWRqMVt2KzFdOwogICAgYm9vbCB2aXMxW3YrMV07CiAgICB2ZWN0b3I8bGxpbnQ+IGFkajJbdisxXTsKICAgIGJvb2wgdmlzMlt2KzFdOwoKICAgIHdoaWxlIChlLS0pCiAgICB7CiAgICAgICAgbGxpbnQgeCwgeTsKICAgICAgICBjaW4gPj4geCA+PiB5OwogICAgICAgIGFkajFbeF0ucGIoeSk7CiAgICAgICAgYWRqMlt5XS5wYih4KTsKICAgIH0KCiAgICBjb3V0IDw8ICJDYXNlICMiIDw8IHQrKyA8PCAiOiIgPDwgZW5kbDsKCiAgICBsbGludCBxOwogICAgY2luID4+IHE7CiAgICB3aGlsZSAocS0tKQogICAgewogICAgICAgIGZvciAobGxpbnQgaSA9IDE7IGkgPD0gdjsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgdmlzMVtpXSA9IGZhbHNlOwogICAgICAgICAgICB2aXMyW2ldID0gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICBsbGludCBzOwogICAgICAgIGNpbiA+PiBzOwoKICAgICAgICBsbGludCBtaW50ID0gLWFycltzXTsKICAgICAgICBxdWV1ZSA8bGxpbnQ+IHExOwogICAgICAgIHZpczFbc10gPSB0cnVlOwogICAgICAgIHExLnB1c2gocyk7CiAgICAgICAgd2hpbGUgKCFxMS5lbXB0eSgpKQogICAgICAgIHsKICAgICAgICAgICAgbGxpbnQgcCA9IHExLmZyb250KCk7CiAgICAgICAgICAgIHExLnBvcCgpOwogICAgICAgICAgICBtaW50ICs9IGFycltwXTsKICAgICAgICAgICAgZm9yIChsbGludCBpID0gMDsgaSA8IGFkajFbcF0uc2l6ZSgpOyBpKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGxsaW50IGMgPSBhZGoxW3BdW2ldOwogICAgICAgICAgICAgICAgaWYgKHZpczFbY10gPT0gZmFsc2UpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgcTEucHVzaChjKTsKICAgICAgICAgICAgICAgICAgICB2aXMxW2NdID0gdHJ1ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgbGxpbnQgbWF4dCA9IHN1bTsKICAgICAgICBxdWV1ZSA8bGxpbnQ+IHEyOwogICAgICAgIHZpczJbc10gPSB0cnVlOwogICAgICAgIHEyLnB1c2gocyk7CiAgICAgICAgd2hpbGUgKCFxMi5lbXB0eSgpKQogICAgICAgIHsKICAgICAgICAgICAgbGxpbnQgcCA9IHEyLmZyb250KCk7CiAgICAgICAgICAgIHEyLnBvcCgpOwogICAgICAgICAgICBtYXh0IC09IGFycltwXTsKICAgICAgICAgICAgZm9yIChsbGludCBpID0gMDsgaSA8IGFkajJbcF0uc2l6ZSgpOyBpKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGxsaW50IGMgPSBhZGoyW3BdW2ldOwogICAgICAgICAgICAgICAgaWYgKHZpczJbY10gPT0gZmFsc2UpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgcTIucHVzaChjKTsKICAgICAgICAgICAgICAgICAgICB2aXMyW2NdID0gdHJ1ZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgY291dCA8PCBtYXh0IC0gbWludCA8PCBlbmRsOwogICAgfQogICAgY291dCA8PCBlbmRsOwogICAgY2luID4+IHYgPj4gZTsKfQoKfQo=