#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int INF = 1e9;
const ll LINF = 1e18;
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); // mt19937_64 rng(time(0))
const int N = 1e4 + 5;
int n, m;
ll h_val[N];
ll h_opt[26];
void precompute() {
for (int i = 1; i <= n; i++) {
h_val[i] = rng();
}
}
void backtrack(int i, ll cur_h, vector<int>& ans) {
if (cur_h == 0) {
cout << ans.size() << '\n';
for (int x : ans) cout << x << ' ';
exit(0);
}
if (i == m + 1) return;
backtrack(i + 1, cur_h, ans);
ans.push_back(i);
backtrack(i + 1, cur_h ^ h_opt[i], ans);
ans.pop_back();
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> n >> m;
precompute();
ll cur_h = 0;
for (int i = 1; i <= n; i++) {
int a; cin >> a;
if (a == 0) cur_h ^= h_val[i];
}
for (int i = 1; i <= m; i++) {
int l; cin >> l;
for (int j = 1; j <= l; j++) {
int b; cin >> b;
h_opt[i] ^= h_val[b];
}
}
vector<int> ans;
backtrack(1, cur_h, ans);
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsgIAoKdHlwZWRlZiBsb25nIGxvbmcgbGw7ICAKdHlwZWRlZiBwYWlyPGludCwgaW50PiBpaTsgIAoKY29uc3QgaW50IElORiA9IDFlOTsgIApjb25zdCBsbCBMSU5GID0gMWUxODsgIAoKbXQxOTkzN182NCBybmcoY2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpLnRpbWVfc2luY2VfZXBvY2goKS5jb3VudCgpKTsgLy8gbXQxOTkzN182NCBybmcodGltZSgwKSkgCgpjb25zdCBpbnQgTiA9IDFlNCArIDU7IAoKaW50IG4sIG07IAoKbGwgaF92YWxbTl07IApsbCBoX29wdFsyNl07ICAKCnZvaWQgcHJlY29tcHV0ZSgpIHsKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewoJCWhfdmFsW2ldID0gcm5nKCk7IAoJfQp9Cgp2b2lkIGJhY2t0cmFjayhpbnQgaSwgbGwgY3VyX2gsIHZlY3RvcjxpbnQ+JiBhbnMpIHsKCWlmIChjdXJfaCA9PSAwKSB7CgkJY291dCA8PCBhbnMuc2l6ZSgpIDw8ICdcbic7IAoJCWZvciAoaW50IHggOiBhbnMpIGNvdXQgPDwgeCA8PCAnICc7ICAKCQlleGl0KDApOyAKCX0KCQoJaWYgKGkgPT0gbSArIDEpIHJldHVybjsgCgoJYmFja3RyYWNrKGkgKyAxLCBjdXJfaCwgYW5zKTsgCgkKCWFucy5wdXNoX2JhY2soaSk7IAoJYmFja3RyYWNrKGkgKyAxLCBjdXJfaCBeIGhfb3B0W2ldLCBhbnMpOyAKCWFucy5wb3BfYmFjaygpOyAKfQoKaW50IG1haW4oKSB7Cglpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IAoJY2luLnRpZShudWxscHRyKTsgCQoJY2luID4+IG4gPj4gbTsgCgkKCXByZWNvbXB1dGUoKTsgIAoJCglsbCBjdXJfaCA9IDA7ICAKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewoJCWludCBhOyBjaW4gPj4gYTsgCgkJaWYgKGEgPT0gMCkgY3VyX2ggXj0gaF92YWxbaV07IAoJfQoKCWZvciAoaW50IGkgPSAxOyBpIDw9IG07IGkrKykgewoJCWludCBsOyBjaW4gPj4gbDsgCgkJZm9yIChpbnQgaiA9IDE7IGogPD0gbDsgaisrKSB7CgkJCWludCBiOyBjaW4gPj4gYjsgCgkJCWhfb3B0W2ldIF49IGhfdmFsW2JdOyAKCQl9Cgl9CgoJdmVjdG9yPGludD4gYW5zOyAKCWJhY2t0cmFjaygxLCBjdXJfaCwgYW5zKTsgIAp9