#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
vector<vector<int>> adj;
vector<int> comp, compSize;
void dfs(int u, int id) {
comp[u] = id;
compSize[id]++;
for (int v : adj[u]) {
if (comp[v] == -1)
dfs(v, id);
}
}
int minMalwareSpread(int n,
vector<int>& from,
vector<int>& to,
vector<int>& malware) {
adj.assign(n + 1, {});
for (int i = 0; i < from.size(); i++) {
adj[from[i]].push_back(to[i]);
adj[to[i]].push_back(from[i]);
}
comp.assign(n + 1, -1);
compSize.assign(n + 1, 0);
int id = 0;
// Find connected components
for (int i = 1; i <= n; i++) {
if (comp[i] == -1) {
dfs(i, id);
id++;
}
}
vector<int> infectedCnt(id, 0);
// Count infected nodes in each component
for (int i = 1; i <= n; i++) {
if (malware[i] == 1)
infectedCnt[comp[i]]++;
}
int ans = -1;
int maxSaved = -1;
for (int i = 1; i <= n; i++) {
if (malware[i] == 0)
continue;
int c = comp[i];
if (infectedCnt[c] == 1) {
if (compSize[c] > maxSaved) {
maxSaved = compSize[c];
ans = i;
}
else if (compSize[c] == maxSaved && i < ans) {
ans = i;
}
}
}
// If no component has exactly one infected node
if (ans == -1) {
for (int i = 1; i <= n; i++) {
if (malware[i] == 1)
return i;
}
}
return ans;
}
};
int main() {
int g_nodes, g_edges;
cin >> g_nodes >> g_edges;
vector<int> g_from(g_edges), g_to(g_edges);
for (int i = 0; i < g_edges; i++)
cin >> g_from[i];
for (int i = 0; i < g_edges; i++)
cin >> g_to[i];
vector<int> malware(g_nodes + 1);
for (int i = 1; i <= g_nodes; i++)
cin >> malware[i];
Solution obj;
cout << obj.minMalwareSpread(g_nodes, g_from, g_to, malware);
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpjbGFzcyBTb2x1dGlvbiB7CnB1YmxpYzoKICAgIHZlY3Rvcjx2ZWN0b3I8aW50Pj4gYWRqOwogICAgdmVjdG9yPGludD4gY29tcCwgY29tcFNpemU7CgogICAgdm9pZCBkZnMoaW50IHUsIGludCBpZCkgewogICAgICAgIGNvbXBbdV0gPSBpZDsKICAgICAgICBjb21wU2l6ZVtpZF0rKzsKCiAgICAgICAgZm9yIChpbnQgdiA6IGFkalt1XSkgewogICAgICAgICAgICBpZiAoY29tcFt2XSA9PSAtMSkKICAgICAgICAgICAgICAgIGRmcyh2LCBpZCk7CiAgICAgICAgfQogICAgfQoKICAgIGludCBtaW5NYWx3YXJlU3ByZWFkKGludCBuLAogICAgICAgICAgICAgICAgICAgICAgICAgdmVjdG9yPGludD4mIGZyb20sCiAgICAgICAgICAgICAgICAgICAgICAgICB2ZWN0b3I8aW50PiYgdG8sCiAgICAgICAgICAgICAgICAgICAgICAgICB2ZWN0b3I8aW50PiYgbWFsd2FyZSkgewoKICAgICAgICBhZGouYXNzaWduKG4gKyAxLCB7fSk7CgogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgZnJvbS5zaXplKCk7IGkrKykgewogICAgICAgICAgICBhZGpbZnJvbVtpXV0ucHVzaF9iYWNrKHRvW2ldKTsKICAgICAgICAgICAgYWRqW3RvW2ldXS5wdXNoX2JhY2soZnJvbVtpXSk7CiAgICAgICAgfQoKICAgICAgICBjb21wLmFzc2lnbihuICsgMSwgLTEpOwogICAgICAgIGNvbXBTaXplLmFzc2lnbihuICsgMSwgMCk7CgogICAgICAgIGludCBpZCA9IDA7CgogICAgICAgIC8vIEZpbmQgY29ubmVjdGVkIGNvbXBvbmVudHMKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKICAgICAgICAgICAgaWYgKGNvbXBbaV0gPT0gLTEpIHsKICAgICAgICAgICAgICAgIGRmcyhpLCBpZCk7CiAgICAgICAgICAgICAgICBpZCsrOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB2ZWN0b3I8aW50PiBpbmZlY3RlZENudChpZCwgMCk7CgogICAgICAgIC8vIENvdW50IGluZmVjdGVkIG5vZGVzIGluIGVhY2ggY29tcG9uZW50CiAgICAgICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgICAgIGlmIChtYWx3YXJlW2ldID09IDEpCiAgICAgICAgICAgICAgICBpbmZlY3RlZENudFtjb21wW2ldXSsrOwogICAgICAgIH0KCiAgICAgICAgaW50IGFucyA9IC0xOwogICAgICAgIGludCBtYXhTYXZlZCA9IC0xOwoKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKCiAgICAgICAgICAgIGlmIChtYWx3YXJlW2ldID09IDApCiAgICAgICAgICAgICAgICBjb250aW51ZTsKCiAgICAgICAgICAgIGludCBjID0gY29tcFtpXTsKCiAgICAgICAgICAgIGlmIChpbmZlY3RlZENudFtjXSA9PSAxKSB7CgogICAgICAgICAgICAgICAgaWYgKGNvbXBTaXplW2NdID4gbWF4U2F2ZWQpIHsKICAgICAgICAgICAgICAgICAgICBtYXhTYXZlZCA9IGNvbXBTaXplW2NdOwogICAgICAgICAgICAgICAgICAgIGFucyA9IGk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIGlmIChjb21wU2l6ZVtjXSA9PSBtYXhTYXZlZCAmJiBpIDwgYW5zKSB7CiAgICAgICAgICAgICAgICAgICAgYW5zID0gaTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gSWYgbm8gY29tcG9uZW50IGhhcyBleGFjdGx5IG9uZSBpbmZlY3RlZCBub2RlCiAgICAgICAgaWYgKGFucyA9PSAtMSkgewogICAgICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKICAgICAgICAgICAgICAgIGlmIChtYWx3YXJlW2ldID09IDEpCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIHJldHVybiBhbnM7CiAgICB9Cn07CgppbnQgbWFpbigpIHsKCiAgICBpbnQgZ19ub2RlcywgZ19lZGdlczsKICAgIGNpbiA+PiBnX25vZGVzID4+IGdfZWRnZXM7CgogICAgdmVjdG9yPGludD4gZ19mcm9tKGdfZWRnZXMpLCBnX3RvKGdfZWRnZXMpOwoKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgZ19lZGdlczsgaSsrKQogICAgICAgIGNpbiA+PiBnX2Zyb21baV07CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBnX2VkZ2VzOyBpKyspCiAgICAgICAgY2luID4+IGdfdG9baV07CgogICAgdmVjdG9yPGludD4gbWFsd2FyZShnX25vZGVzICsgMSk7CgogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gZ19ub2RlczsgaSsrKQogICAgICAgIGNpbiA+PiBtYWx3YXJlW2ldOwoKICAgIFNvbHV0aW9uIG9iajsKCiAgICBjb3V0IDw8IG9iai5taW5NYWx3YXJlU3ByZWFkKGdfbm9kZXMsIGdfZnJvbSwgZ190bywgbWFsd2FyZSk7CgogICAgcmV0dXJuIDA7Cn0=