#include<bits/stdc++.h>
#define MOD 1000000007
using namespace std;
int main(){
int n,m,p;
int dp[1001][1001];
cin>>n>>m>>p;
memset(dp,-1,sizeof(dp));
while(p--){
int x,y;
cin>>x>>y;
dp[x-1][y-1]=0;
}
int f=0;
for(int i=0; i<m; i++){
if(dp[0][i]==-1 && f==0) dp[0][i]=1;
else if(dp[0][i]==0) f=1;
else if(dp[0][i]==-1 && f==1) dp[0][i]=0;
}f=0;
for(int i=0; i<n; i++){
if(dp[i][0]==-1 && f==0) dp[i][0]=1;
else if(dp[i][0]==0) f=1;
else if(dp[i][0]==-1 && f==1) dp[i][0]=0;
}
for(int i=1; i<n; i++){
for(int j=1; j<m; j++){
if(dp[i][j]==0) continue;
else{
dp[i][j]=((dp[i-1][j]%MOD)+(dp[i][j-1]%MOD))%MOD;
}
}
}
cout<<dp[n-1][m-1];
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBNT0QgMTAwMDAwMDAwNwp1c2luZyBuYW1lc3BhY2Ugc3RkOwppbnQgbWFpbigpewogICAgaW50IG4sbSxwOwogICAgaW50IGRwWzEwMDFdWzEwMDFdOwogICAgY2luPj5uPj5tPj5wOwogICAgbWVtc2V0KGRwLC0xLHNpemVvZihkcCkpOwogICAgd2hpbGUocC0tKXsKICAgICAgICBpbnQgeCx5OwogICAgICAgIGNpbj4+eD4+eTsKICAgICAgICBkcFt4LTFdW3ktMV09MDsKICAgIH0KICAgIGludCBmPTA7CiAgICBmb3IoaW50IGk9MDsgaTxtOyBpKyspewogICAgICAgIGlmKGRwWzBdW2ldPT0tMSAmJiBmPT0wKSBkcFswXVtpXT0xOwogICAgICAgIGVsc2UgaWYoZHBbMF1baV09PTApIGY9MTsKICAgICAgICBlbHNlIGlmKGRwWzBdW2ldPT0tMSAmJiBmPT0xKSBkcFswXVtpXT0wOyAgICAKICAgIH1mPTA7CiAgICBmb3IoaW50IGk9MDsgaTxuOyBpKyspewogICAgICAgIGlmKGRwW2ldWzBdPT0tMSAmJiBmPT0wKSBkcFtpXVswXT0xOwogICAgICAgIGVsc2UgaWYoZHBbaV1bMF09PTApIGY9MTsKICAgICAgICBlbHNlIGlmKGRwW2ldWzBdPT0tMSAmJiBmPT0xKSBkcFtpXVswXT0wOyAgICAKICAgIH0KICAgIAogICAgZm9yKGludCBpPTE7IGk8bjsgaSsrKXsKICAgICAgICBmb3IoaW50IGo9MTsgajxtOyBqKyspewogICAgICAgICAgICBpZihkcFtpXVtqXT09MCkgY29udGludWU7CiAgICAgICAgICAgIGVsc2V7CiAgICAgICAgICAgICAgICBkcFtpXVtqXT0oKGRwW2ktMV1bal0lTU9EKSsoZHBbaV1bai0xXSVNT0QpKSVNT0Q7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CiAgICBjb3V0PDxkcFtuLTFdW20tMV07CiAgICAKfSA=