#include<bits/stdc++.h>
using namespace std;
const int N=1e6;
const int mod=1e9+7;
int T,fa;
long long n,m,v,a[N],ans;
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	freopen("assign.in","r",stdin);
	freopen("assign.out","w",stdout);
	cin>>T;
	while(T--){
		cin>>n>>m>>v;ans=1;
		for(int i=1;i<=n;i++)a[i]=0;
		for(int i=1,c,d;i<=m;i++){
			cin>>c>>d;
			if(a[c]==d)continue;
			if(a[c])ans=0;
			a[c]=d;
		}
		for(int i=1;i<n;i++){
			if(a[i]&&a[i+1])
			ans*=(v*v-v+1)%mod;
			else ans*=v*v%mod;
			ans%=mod;
		}
		cout<<ans%mod<<'\n';
	}
} 
