#include <iostream>
#include <string.h>
using namespace std;
int path[210][210];
int main()
{
int n, m;
scanf("%d%d", &n, &m);
int i, a, b;
for(i = 1; i <= m; i++)
{
scanf("%d%d", &a, &b);
path[a][b] = 1;
path[b][a] = 1;
}
int k;
scanf("%d", &k);
int num[210], vis[210], p, j, flag;
for(i = 1; i <= k; i++)
{
scanf("%d", &p);
for(j = 1; j <= p; j++)
{
scanf("%d", &num[j]);
}
flag = 1;
if(p != n + 1 || num[1] != num[p])
{
flag = 0;
}
else
{
memset(vis, 0, sizeof(vis));
for(j = 2; j <= p; j++)
{
a = num[j - 1];
b = num[j];
if(path[a][b] == 0)
{
flag = 0;
break;
}
vis[b] = 1;
}
if(flag == 1)
{
for(j = 1; j <= n; j++)
{
if(vis[j] == 0)
{
flag = 0;
break;
}
}
}
}
if(flag == 1)
{
printf("YES\n");
}
else
{
printf("NO\n");
}
}
system("pause");
return 0;
}