相邻变量都有值乘上(v*(v-1)+1)
否则 乘上 v*v
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int mod=1e9+7;
int a[10000000];
main()
{
int T;
cin>>T;
while(T--)
{
int n,m,v;
cin>>n>>m>>v;
bool io=0;
for(int i=1;i<=m;i++)
{
int l,r;
cin>>l>>r;
if(a[l]!=r && a[l]!=0)
io=1;
a[l]=r;
}
int ans=1;
for(int i=2;i<=n;i++)
{
if(a[i] && a[i-1])
ans=(ans*((v-1)*v%mod+1))%mod;
else
ans=ans*v%mod*v%mod;
}
if(!io)
cout<<ans<<endl;
else
cout<<0<<endl;
for(int i=1;i<=n;i++)
a[i]=0;
}
return 0;
}