#include<vector>
#include<iostream>
using namespace std;
bool func(vector<int> arr,vector<int> ins,vector<vector<int> >&adjs)
{
for(int i=0;i<arr.size();++i)
{
if(ins[arr[i]]!=0) return false;
for(int j=0;j<adjs[arr[i]].size();++j)
{
ins[adjs[arr[i]][j]]--;
}
}
return true;
}
int main()
{
int n,m;
cin>>n>>m;
vector<vector<int> > adjs=vector<vector<int> >(n+1);
vector<int> ins = vector<int>(n+1);
for(int i=0;i<n;++i)
{
ins[i]=0;
}
for(int i=0;i<m;++i)
{
int a,b;
cin>>a>>b;
adjs[a].push_back(b);
ins[b]++;
}
vector<int> rets;
cin>>m;
for(int i=0;i<m;++i)
{
vector<int> arr = vector<int>(n);
for(int j=0;j<n;++j)
{
cin>>arr[j];
}
bool flag = func(arr,ins,adjs);
if(flag==false)
{
rets.push_back(i);
}
}
for(int k=0;k<rets.size();++k)
{
if(k!=0)cout<<" ";
cout<<rets[k];
}
cout<<endl;
return 0;
}