#include<bits/stdc++.h>
using namespace std;
using ii = pair < int , int >;
const int N = 5e5 + 5;
const int INF = 2e9;
int n , m;
vector < int > adj[N];
int SCC_Size[N]; // size of the largest SCC the node (i) belongs to
int low[N] , dfn[N] , timer = 0;
vector < int > nodesStack;
bool inStack[N];
void dfs(int u) {
dfn[u] = low[u] = ++ timer;
nodesStack.push_back(u);
inStack[u] = 1;
for(int v : adj[u]) {
if(!dfn[v]) {
dfs(v);
}
if(inStack[v]) {
low[u] = min(low[u] , low[v]);
}
}
if(low[u] == dfn[u]) {
int sz = 0;
vector < int > tmp;
while(true) {
int v = nodesStack.back(); nodesStack.pop_back(); inStack[v] = 0;
sz ++;
tmp.push_back(v);
if(v == u) break;
}
for(int T : tmp) {
SCC_Size[T] = sz;
}
}
}
void solve(){
int k;
scanf("%d %d %d" , &n , &m , &k);
for(int i = 0 ; i < m ; i ++){
int u , v;
scanf("%d %d" , &u , &v);
adj[u].push_back(v);
}
for(int i = 1 ; i <= n ; i ++) {
if(!dfn[i]) {
dfs(i);
}
}
int q; scanf("%d" , &q);
while( q -- ){
int x; scanf("%d" , &x);
if(SCC_Size[x] >= k) {
printf("Yes\n");
}
else {
printf("No\n");
}
}
}
main(){
solve();
return 0;
}
CiNpbmNsdWRlPGJpdHMvc3RkYysrLmg+CgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdXNpbmcgaWkgPSBwYWlyIDwgaW50ICwgaW50ID47Cgpjb25zdCBpbnQgTiAgID0gNWU1ICsgNTsKY29uc3QgaW50IElORiA9IDJlOTsKCgppbnQgbiAsIG07Cgp2ZWN0b3IgPCBpbnQgPiBhZGpbTl07CgppbnQgU0NDX1NpemVbTl07IC8vIHNpemUgb2YgdGhlIGxhcmdlc3QgU0NDIHRoZSBub2RlIChpKSBiZWxvbmdzIHRvCgppbnQgbG93W05dICwgZGZuW05dICwgdGltZXIgPSAwOwp2ZWN0b3IgPCBpbnQgPiBub2Rlc1N0YWNrOwpib29sIGluU3RhY2tbTl07Cgp2b2lkIGRmcyhpbnQgdSkgewogICAgZGZuW3VdID0gbG93W3VdID0gKysgdGltZXI7CiAgICBub2Rlc1N0YWNrLnB1c2hfYmFjayh1KTsKICAgIGluU3RhY2tbdV0gPSAxOwoKICAgIGZvcihpbnQgdiA6IGFkalt1XSkgewogICAgICAgICAgICBpZighZGZuW3ZdKSB7CiAgICAgICAgICAgICAgICAgICAgZGZzKHYpOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZihpblN0YWNrW3ZdKSB7CiAgICAgICAgICAgICAgICAgICAgbG93W3VdID0gbWluKGxvd1t1XSAsIGxvd1t2XSk7CiAgICAgICAgICAgIH0KICAgIH0KCiAgICBpZihsb3dbdV0gPT0gZGZuW3VdKSB7CgogICAgICAgICAgICBpbnQgc3ogPSAwOwogICAgICAgICAgICB2ZWN0b3IgPCBpbnQgPiB0bXA7CgogICAgICAgICAgICB3aGlsZSh0cnVlKSB7CiAgICAgICAgICAgICAgICAgICAgaW50IHYgPSBub2Rlc1N0YWNrLmJhY2soKTsgbm9kZXNTdGFjay5wb3BfYmFjaygpOyBpblN0YWNrW3ZdID0gMDsKCiAgICAgICAgICAgICAgICAgICAgc3ogKys7CiAgICAgICAgICAgICAgICAgICAgdG1wLnB1c2hfYmFjayh2KTsKCiAgICAgICAgICAgICAgICAgICAgaWYodiA9PSB1KSBicmVhazsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgZm9yKGludCBUIDogdG1wKSB7CiAgICAgICAgICAgICAgICAgICAgU0NDX1NpemVbVF0gPSBzejsKICAgICAgICAgICAgfQogICAgfQp9CgoKdm9pZCBzb2x2ZSgpewoKICAgIGludCBrOwogICAgc2NhbmYoIiVkICVkICVkIiAsICZuICwgJm0gLCAmayk7CgogICAgZm9yKGludCBpID0gMCA7IGkgPCBtIDsgaSArKyl7CgogICAgICAgIGludCB1ICwgdjsKICAgICAgICBzY2FuZigiJWQgJWQiICwgJnUgLCAmdik7CiAgICAgICAgYWRqW3VdLnB1c2hfYmFjayh2KTsKICAgIH0KCiAgICBmb3IoaW50IGkgPSAxIDsgaSA8PSBuIDsgaSArKykgewogICAgICAgICAgICBpZighZGZuW2ldKSB7CiAgICAgICAgICAgICAgICAgICAgZGZzKGkpOwogICAgICAgICAgICB9CiAgICB9CgogICAgaW50IHE7IHNjYW5mKCIlZCIgLCAmcSk7CgogICAgd2hpbGUoIHEgLS0gKXsKICAgICAgICAgICAgaW50IHg7IHNjYW5mKCIlZCIgLCAmeCk7CgogICAgICAgICAgICBpZihTQ0NfU2l6ZVt4XSA+PSBrKSB7CiAgICAgICAgICAgICAgICAgICAgcHJpbnRmKCJZZXNcbiIpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgIHByaW50ZigiTm9cbiIpOwogICAgICAgICAgICB9CiAgICB9Cgp9CgoKbWFpbigpewogICAgc29sdmUoKTsKICAgIHJldHVybiAwOwp9Cgo=