#include <iostream>
#include<cstdio>
#include<queue>
#include<vector>
#include<set>
#include<algorithm>
#include<map>
#include<string>
#include<cstring>
using namespace std;
//1142
const int maxn = 210;
int n, m, k, p, mmax, clique,mmin,sum;
int G[maxn][maxn],node[maxn];
int main() {
memset(G, 0, sizeof(G));
cin >> n >> m;
int a, b;
for (int i = 0; i < m; i++) {
cin >> a >> b;
G[a][b] = 1;
G[b][a] = 1;
}
cin >> k;
for (int i = 0; i < k; i++) {
memset(node, 0, sizeof(node));
mmax = 1, clique = 1;
mmin = 999;
cin >> p;
for (int i = 0; i < p; i++) {
cin >> node[i];
}
for(int i=0;i<p;i++)
for (int j = 0; j < p; j++) {
if (i != j) {
if (G[node[i]][node[j]] == 0) clique = 0;
}
}
for (int i = 0; i < n; i++) {
sum = 0;
for (int j = 0; j < p; j++)
if (G[i][node[j]] == 1) {
sum++;
if (sum == p)
mmax = 0;
}
}
if (mmax == 1 && clique == 1) cout << "Yes" << endl;
else if (mmax == 0 && clique == 1) cout << "Not Maximal" << endl;
else if (clique == 0) cout << "Not a Clique" << endl;
}
}