#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e6+10,mod=1e9+7;
int n,t,a[N],f[N],res,num,ans,m,ll[N],rr[N],q,s[N];
bool vis[N];
bool check(int u)
{
for(int i=1;i<=n;i++) s[i]=0,f[i]=0;
for(int i=1;i<=u;i++) f[a[i]]=1;
for(int i=1;i<=n;i++) s[i]=s[i-1]+f[i];
for(int i=1;i<=m;i++){
if((s[rr[i]]-s[ll[i]-1])*2>(rr[i]-ll[i])+1) return true;
}
return false;
}
signed main()
{
std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
cin>>t;
while(t--){
cin>>n>>m;
for(int i=1;i<=m;i++) cin>>ll[i]>>rr[i];
cin>>q;
for(int i=1;i<=q;i++) cin>>a[i];
int l=1,r=q+1,flag=0;
while(l<r){
int mid=l+r>>1;
if(check(mid)) r=mid,flag=1;
else l=mid+1;
}
if(!flag) cout<<-1<<endl;
else cout<<r<<endl;
}
return 0;
}