#include<bits/stdc++.h>
#define int long long
#define M 1000000007
using namespace std;
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t;
cin >> t;
while(t--)
{
int n, m, q, a, b;
cin >> n >> m >> q;
vector<vector<int>> v(n, vector<int>(m, 0));
while(q--)
{
int a, b;
cin >> a >> b;
v[a][b] = -1;
}
for(int i = 0;i < n;i++)
{
if(v[i][0] == -1)
{
v[i][0]= 0;
break;
}
v[i][0] = 1;
}
for(int i = 0;i < m;i++)
{
if(v[0][i] == -1)
{
v[0][i]= 0;
break;
}
v[0][i] = 1;
}
for(int i = 1;i < n;i++)
{
for(int j = 1;j < m;j++)
{
if(v[i][j] == -1)
v[i][j] = 0;
else
v[i][j] = ((v[i - 1][j - 1]%M + v[i - 1][j]%M)%M + v[i][j - 1]%M)%M;
}
}
cout << v[n - 1][m - 1] << "\n";
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBpbnQgbG9uZyBsb25nCiNkZWZpbmUgTSAxMDAwMDAwMDA3IAp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc2lnbmVkIG1haW4oKXsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsKICAgIGNvdXQudGllKDApOwogICAgCiAgICBpbnQgdDsKICAgIGNpbiA+PiB0OwogICAgd2hpbGUodC0tKQogICAgewogICAgICAgIGludCBuLCBtLCBxLCBhLCBiOwogICAgICAgIGNpbiA+PiBuID4+IG0gPj4gcTsKICAgICAgICB2ZWN0b3I8dmVjdG9yPGludD4+IHYobiwgdmVjdG9yPGludD4obSwgMCkpOwogICAgICAgIHdoaWxlKHEtLSkKICAgICAgICB7CiAgICAgICAgICAgIGludCBhLCBiOwogICAgICAgICAgICBjaW4gPj4gYSA+PiBiOwogICAgICAgICAgICB2W2FdW2JdID0gLTE7CiAgICAgICAgfQogICAgICAgIGZvcihpbnQgaSA9IDA7aSA8IG47aSsrKQogICAgICAgIHsKICAgICAgICAgICAgaWYodltpXVswXSA9PSAtMSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgdltpXVswXT0gMDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHZbaV1bMF0gPSAxOwogICAgICAgIH0KICAgICAgICBmb3IoaW50IGkgPSAwO2kgPCBtO2krKykKICAgICAgICB7CiAgICAgICAgICAgIGlmKHZbMF1baV0gPT0gLTEpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHZbMF1baV09IDA7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICB2WzBdW2ldID0gMTsKICAgICAgICB9CiAgICAgICAgZm9yKGludCBpID0gMTtpIDwgbjtpKyspCiAgICAgICAgewogICAgICAgICAgICBmb3IoaW50IGogPSAxO2ogPCBtO2orKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYodltpXVtqXSA9PSAtMSkKICAgICAgICAgICAgICAgICAgICB2W2ldW2pdID0gMDsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICB2W2ldW2pdID0gKCh2W2kgLSAxXVtqIC0gMV0lTSArIHZbaSAtIDFdW2pdJU0pJU0gKyB2W2ldW2ogLSAxXSVNKSVNOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGNvdXQgPDwgdltuIC0gMV1bbSAtIDFdIDw8ICJcbiI7CiAgICB9CiAgICAKICAgIHJldHVybiAwOwp9