#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
vector<int> initial(n);
int init_state = 0;
for (int i = 0; i < n; i++) {
cin >> initial[i];
init_state |= (initial[i] << i);
}
// 预计算每个开关的影响掩码
vector<int> effect(n, 0);
for (int i = 0; i < n; i++) {
effect[i] = (1 << i); // 影响自己
}
for (int i = 0; i < m; i++) {
int x, y;
cin >> x >> y;
x--; y--;
effect[x] |= (1 << y);
}
// BFS
queue<pair<int, int>> q; // (state, switches_used)
map<int, int> visited; // state -> switches_used (bitmask)
q.push({init_state, 0});
visited[init_state] = 0;
while (!q.empty()) {
auto [state, switches] = q.front();
q.pop();
if (state == 0) {
// 找到解,提取开关序号
vector<int> result;
for (int i = 0; i < n; i++) {
if (switches & (1 << i)) {
result.push_back(i + 1);
}
}
for (int i = 0; i < result.size(); i++) {
if (i > 0) cout << " ";
cout << result[i];
}
cout << endl;
return 0;
}
// 尝试按每个未按过的开关
for (int i = 0; i < n; i++) {
if (!(switches & (1 << i))) {
int new_state = state ^ effect[i];
int new_switches = switches | (1 << i);
if (visited.find(new_state) == visited.end() ||
__builtin_popcount(new_switches) < __builtin_popcount(visited[new_state]) ||
(__builtin_popcount(new_switches) == __builtin_popcount(visited[new_state]) &&
new_switches < visited[new_state])) {
visited[new_state] = new_switches;
q.push({new_state, new_switches});
}
}
}
}
cout << -1 << endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgIGludCBuLCBtOwogICAgY2luID4+IG4gPj4gbTsKICAgIAogICAgdmVjdG9yPGludD4gaW5pdGlhbChuKTsKICAgIGludCBpbml0X3N0YXRlID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgY2luID4+IGluaXRpYWxbaV07CiAgICAgICAgaW5pdF9zdGF0ZSB8PSAoaW5pdGlhbFtpXSA8PCBpKTsKICAgIH0KICAgIAogICAgLy8g6aKE6K6h566X5q+P5Liq5byA5YWz55qE5b2x5ZON5o6p56CBCiAgICB2ZWN0b3I8aW50PiBlZmZlY3QobiwgMCk7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGVmZmVjdFtpXSA9ICgxIDw8IGkpOyAvLyDlvbHlk43oh6rlt7EKICAgIH0KICAgIAogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtOyBpKyspIHsKICAgICAgICBpbnQgeCwgeTsKICAgICAgICBjaW4gPj4geCA+PiB5OwogICAgICAgIHgtLTsgeS0tOwogICAgICAgIGVmZmVjdFt4XSB8PSAoMSA8PCB5KTsKICAgIH0KICAgIAogICAgLy8gQkZTCiAgICBxdWV1ZTxwYWlyPGludCwgaW50Pj4gcTsgLy8gKHN0YXRlLCBzd2l0Y2hlc191c2VkKQogICAgbWFwPGludCwgaW50PiB2aXNpdGVkOyAvLyBzdGF0ZSAtPiBzd2l0Y2hlc191c2VkIChiaXRtYXNrKQogICAgCiAgICBxLnB1c2goe2luaXRfc3RhdGUsIDB9KTsKICAgIHZpc2l0ZWRbaW5pdF9zdGF0ZV0gPSAwOwogICAgCiAgICB3aGlsZSAoIXEuZW1wdHkoKSkgewogICAgICAgIGF1dG8gW3N0YXRlLCBzd2l0Y2hlc10gPSBxLmZyb250KCk7CiAgICAgICAgcS5wb3AoKTsKICAgICAgICAKICAgICAgICBpZiAoc3RhdGUgPT0gMCkgewogICAgICAgICAgICAvLyDmib7liLDop6PvvIzmj5Dlj5blvIDlhbPluo/lj7cKICAgICAgICAgICAgdmVjdG9yPGludD4gcmVzdWx0OwogICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgICAgICAgICAgaWYgKHN3aXRjaGVzICYgKDEgPDwgaSkpIHsKICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaF9iYWNrKGkgKyAxKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHJlc3VsdC5zaXplKCk7IGkrKykgewogICAgICAgICAgICAgICAgaWYgKGkgPiAwKSBjb3V0IDw8ICIgIjsKICAgICAgICAgICAgICAgIGNvdXQgPDwgcmVzdWx0W2ldOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvdXQgPDwgZW5kbDsKICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8vIOWwneivleaMieavj+S4quacquaMiei/h+eahOW8gOWFswogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgICAgIGlmICghKHN3aXRjaGVzICYgKDEgPDwgaSkpKSB7CiAgICAgICAgICAgICAgICBpbnQgbmV3X3N0YXRlID0gc3RhdGUgXiBlZmZlY3RbaV07CiAgICAgICAgICAgICAgICBpbnQgbmV3X3N3aXRjaGVzID0gc3dpdGNoZXMgfCAoMSA8PCBpKTsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgaWYgKHZpc2l0ZWQuZmluZChuZXdfc3RhdGUpID09IHZpc2l0ZWQuZW5kKCkgfHwgCiAgICAgICAgICAgICAgICAgICAgX19idWlsdGluX3BvcGNvdW50KG5ld19zd2l0Y2hlcykgPCBfX2J1aWx0aW5fcG9wY291bnQodmlzaXRlZFtuZXdfc3RhdGVdKSB8fAogICAgICAgICAgICAgICAgICAgIChfX2J1aWx0aW5fcG9wY291bnQobmV3X3N3aXRjaGVzKSA9PSBfX2J1aWx0aW5fcG9wY291bnQodmlzaXRlZFtuZXdfc3RhdGVdKSAmJiAKICAgICAgICAgICAgICAgICAgICAgbmV3X3N3aXRjaGVzIDwgdmlzaXRlZFtuZXdfc3RhdGVdKSkgewogICAgICAgICAgICAgICAgICAgIHZpc2l0ZWRbbmV3X3N0YXRlXSA9IG5ld19zd2l0Y2hlczsKICAgICAgICAgICAgICAgICAgICBxLnB1c2goe25ld19zdGF0ZSwgbmV3X3N3aXRjaGVzfSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICAKICAgIGNvdXQgPDwgLTEgPDwgZW5kbDsKICAgIHJldHVybiAwOwp9