link
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 510;
int g[MAXN][MAXN];
int color[MAXN];
int n, m, k;
int num;
bool check(int i){
for(int j = 1; j <= n; j++){
if(g[i][j]){
if(color[i] == color[j])
return false;
}
}
return true;
}
int main(){
cin >> n >> m >> k;
for(int i = 0; i < m; i++){
int a, b;
cin >> a >> b;
g[a][b] = 1, g[b][a] = 1;
}
cin >> num;
while(num--){
int flag = 0;
set<int> s;
for(int i = 1; i <= n; i++){
cin >> color[i];
s.insert(color[i]);
}
if(s.size() != k){
flag = 1;
puts("No");
}else{
for(int i = 1; i <= n; i++){
if(check(i) == false){
flag = 1;
puts("No");
break;
}
}
}
if(flag == 0) puts("Yes");
}
return 0;
}