#include<bits/stdc++.h>
using namespace std;
#define mod 1000000007
long long T,n,m,v,va[1000005],ans;
int main(){
	freopen("assign.in","r",stdin);
	freopen("assign.out","w",stdout);
	scanf("%d",&T);
	while(T--){
		ans=1;
		scanf("%lld%lld%lld",&n,&m,&v);
		if(n>1000005){
			for(int i=1;i<=m;++i){
				int t1,t2;
				scanf("%d%d",&t1,&t2);
			}
			printf("0\n");
			continue;
		}
		for(int i=1;i<=n;++i)va[i]=0;
		for(int i=1;i<=m;++i){
			long long id,w;
			scanf("%lld%lld",&id,&w);
			if(va[id]!=0&&va[id]!=w)ans=0;
			va[id]=w;
		}
		for(int i=2;i<=n;++i){
			if(va[i-1]!=0){
				if(va[i]!=0)ans*=(v*(v-1)+1)%mod;
				else ans*=(v*v)%mod;
			}
			else{
				if(va[i]!=0){
					if(va[i-2]!=0)ans*=(v*(v-1)+1)%mod;
					else ans*=(v*v)%mod;
				}
				else ans=(v*v)%mod;
			}
			ans%=mod;
		}
		printf("%lld\n",ans);
	}
	
}
