//dp删除后,可以堆成新的N*N.
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int mod=1e9+7;
const int n=1e6+11;
int a,b,c,d[n],l,r;
signed main()
{
ios::sync_with_stdio(false);
cin>>a;
d[1]=1;
d[0]=1;
for(int i=2;i<=3e5;i++)
{
d[i]=(d[i-1]+(d[i-2]*(i-1)*2)%mod)%mod;
}
while(a--)
{
cin>>b>>c;
for(int i=1;i<=c;i++)
{
cin>>l>>r;
if(l==r)
{
b--;
}
else
{
b-=2;
}
}
cout<<d[b]<<endl;
}
}