#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int const maxn = 1010;int n, m;
int G[maxn][maxn] = { 0 };
vector<int>v;int dfs() {for (int i = 0; i < v.size(); i++) {for (int j = i+1; j < v.size(); j++) {if (G[v[i]][v[j]] != 1) {return -1;}}}for (int j = 1; j <=n; j++) {bool flag = true;if (find(v.begin(), v.end(), j) == v.end()) {for (int i = 0; i < v.size(); i++) {if (G[v[i]][j] != 1) {flag = false;}}}else continue;if (flag == true)return j;}return 202;
}int main() {cin >> n >> m;for (int i = 0; i < m; i++) {int a, b;cin >> a >> b;G[a][b] = 1;G[b][a] = 1;}int k;cin >> k;for (int i = 0; i < k; i++) {int l;cin >> l;v.clear();for (int j = 0; j < l; j++) {int tmp_v;cin >> tmp_v;v.push_back(tmp_v);}int ans = dfs();if (ans == -1)cout << "Area " << i + 1 << " needs help.\n";else if(ans==202)cout<< "Area " << i + 1 << "is OK.\n";else cout << "Area " << i + 1 << " may invite more people, such as "<<ans<<".\n";}return 0;
}