#include <cstdio>
#include <cstring>
#include <vector>
#define MAXN 20000
std::vector <int> g[MAXN+1];
bool viz[MAXN+1], val[MAXN+1];
int ans[MAXN+1], next[MAXN+1];;
void dfs(int x){
viz[x]=1;
val[x]=0;
for(auto y:g[x]){
if(viz[y]==0) dfs(y);
if(val[y]==0) val[x]=1, next[x]=y;
}
}
int main(){
FILE *fin, *fout;
fin=fopen("pioni.in", "r");
fout=fopen("pioni.out", "w");
int t, n, m;
fscanf(fin, "%d%d%d", &t, &n, &m);
for(int i=1; i<=m; i++){
int x, y;
fscanf(fin, "%d%d", &x, &y);
g[x].push_back(y);
}
for(int i=1; i<=n; i++)
dfs(i);
for(; t; t--){
int k;
fscanf(fin, "%d", &k);
ans[0]=0;
for(int i=1; i<=k; i++){
int x;
fscanf(fin, "%d", &x);
if(val[x]==1)
ans[++ans[0]]=x;
}
if(ans[0]==0) fprintf(fout, "Fumeanu\n");
else{
fprintf(fout, "Nargy\n%d", ans[0]);
for(int i=1; i<=ans[0]; i++)
fprintf(fout, " %d %d", ans[i], next[ans[i]]);
fprintf(fout, "\n");
}
}
fclose(fin);
fclose(fout);
return 0;
}