#include<iostream>
#include<vector>
using namespace std;
int e[210][210];
int main(){
int Nv,Ne,M,K,a,b;
scanf("%d%d",&Nv,&Ne);
for(int i=0;i<Ne;i++){
scanf("%d%d",&a,&b);
e[a][b]=e[b][a]=1;
}
scanf("%d",&M);
for(int i=0;i<M;i++){
int isMaximal=1,isClique=1;
bool exist[210]={false};//记得初始化。。。。
scanf("%d",&K);
vector<int> test(K);
for(int j=0;j<K;j++){
scanf("%d",&test[j]);
exist[test[j]]=true;
}
for(int j=0;j<K;j++){
for(int l=0;l<K;l++){
if(j!=l&&e[test[j]][test[l]]==0){
isClique=0;
printf("Not a Clique\n");
break;
}
}
if(isClique==0) break;
}
if(isClique==0) continue;
for(int j=1;j<=Nv;j++){
if(exist[j]==false){
for(int l=0;l<K;l++){
if(e[j][test[l]]==0) break;
if(l==K-1) isMaximal=0;
}
}
if(isMaximal==0){
printf("Not Maximal\n");
break;
}
}
if(isMaximal==1) printf("Yes\n");
}
return 0;
}