#include<bits/stdc++.h>
using namespace std;
ifstream fin("assign.in");
ofstream fout("assign.out");
int a[1000010];
int main(){
	int t,n,m,v;
	fin>>t;
	while(t>0){
		t--;
		memset(a,0,sizeof a);
		fin>>n>>m>>v;
		for(int i=1;i<=m;i++){
			int p;
			fin>>p;
			fin>>a[p];
			if(a[p]!=0)a[p]=1;
		}
		int ans=2;
		for(int i=1;i<n;i++){
			if(a[i]==0&&a[i+1]==0){
				ans*=2;
			}
			if(a[i]==0&&a[i+1]==1){
				ans*=2;
			}
			if(a[i]==1&&a[i+1]==0){
				ans*=2;
			}
			if(a[i]==1&&a[i+1]==1){
				ans*=3;
				ans/=2;
			}
		}
		fout<<ans<<endl;
	}
	fin.close();
	fout.close();
	return 0;
}
