#include<iostream>
#include<vector>
#include<map>
#include<string>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<set>
using namespace std;
int main()
{
int n, m, cnt, k, a[210][210] = { 0 };
cin >> n >> m; int t1, t2;
for (int i = 0; i < m; i++)
{
cin >> t1 >> t2;
a[t1][t2] = a[t2][t1] = 1;
}
cin >> cnt;
while (cnt--)
{
cin >> k;
vector<int>v(k);
set<int>s;
int flag1 = 1, flag2 = 1;
for (int i = 0; i < k; i++)
{
cin >> v[i];
s.insert(v[i]);
}
if (s.size() != n || k - 1 != n || v[0] != v[k - 1]) flag1 = 0;
for (int i = 0; i < k - 1; i++)
{
if (a[v[i]][v[i + 1]] == 0) flag2 = 0;
}
if (flag1 && flag2)
cout << "YES" << endl;
else
cout << "NO" << endl;
}
}