/*------------------------Original Copyright belongs to-------------------------/
! !
! ## ## ## ## !
! # # # # !
! ### #### ### ### ## # !
! # # # # # # # # # ## !
! # # # ### ### #### # !
! # # # # # # # # # # !
! ### #### ### # # # # ### ### !
! !
/------------------------------------------------------------------------------*/
#include<bits/stdc++.h>
using namespace std;
//------------Template begins--------------------//
#define ss string
#define last(s) s.length()-1
#define lli long long int
#define v(type) vector<type>
#define pr(type1,type2) pair<type1,type2>
#define ma(type1,type2) map<type1,type2>
#define f first
#define s second
#define all(v) v.begin(),v.end()
#define pb push_back
#define pf push_front
#define mp make_pair
#define L(i,start,end) for(lli i=start;i<=end;i++)
#define R(i,start,end) for(lli i=start;i>=end;i--)
#define inp(var,start,end,array) for(var=start;var<=end;var++) cin>>array[var];
#define whatIs(x) cout<<#x<<" is "<<x<<endl
#define dbg1D(i,start,end,arr) for(lli i=start;i<=end;i++) cout<<i<<"th : "<<arr[i]<<endl;
#define dbg2D(i,j,s1,e1,s2,e2,arr) for (lli i=s1;i<=e1;i++) {cout<<i<<"th :"; for(lli j=s2;j<=e2;j++)cout<<arr[i][j]<<" ";cout<<endl;}
lli dx[4]={-1, 0, 0, +1};
lli dy[4]={0, -1, +1, 0};
const lli LINF = 1e18;
const lli INF = 1e9;
const lli mod = 1e9+7;
lli power(lli a,lli b,lli m){ if(b==0) return 1; if(b==1) return a%m;
lli t=power(a,b/2,m); t=(t*t)%m; if(b&1) t=(t*a)%m; return t;}
lli modInverse(lli a, lli m) { return power(a, m-2, m); }
//---------------Template ends------------------//
lli DPfill(vector<pair<lli,lli>> v,lli ro,lli co)
{
lli i,j,DP[ro+1][co+1]={0};
L(i,0,v.size()-1)
{
DP[v[i].f][v[i].s]=-1;
}
if(DP[ro][co]==-1)
return 0;
L(i,1,ro)//1st Clms fill
{
if(DP[i][1]==-1)
{
DP[i][1]=0;
L(j,i+1,ro)
DP[j][1]=0;
break;
}
else
DP[i][1]=1;
}
L(i,1,co)//1st row fill
{
if(DP[1][i]==-1)
{
DP[1][i]=0;
L(j,i+1,co)
DP[1][j]=0;
break;
}
else
DP[1][i]=1;
}
L(i,2,ro)
{
L(j,2,co)
{
if(DP[i][j]==-1)
DP[i][j]=0;
else
DP[i][j]=(DP[i-1][j]+DP[i][j-1])%mod;
}
}
//dbg2D(i,j,1,ro,1,co,DP)
return DP[ro][co];
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);cout.tie(NULL);
#ifndef ONLINE_JUDGE
// freopen("ip.txt","r",stdin);
// freopen("op.txt","w",stdout);
#endif
//#################### CATCH HERE ##########################
/* Uncomment if t test cases
lli t;
cin>>t;
while(t--)
{
lli n,ans,i,j;
cout<<ans<<endl;
}
*/
lli ro,co,blc,i;
cin>>ro>>co>>blc;
vector<pair<lli,lli> > v;
L(i,1,blc)
{
lli r,c;
cin>>r>>c;
v.pb(mp(r,c));
}
lli ans=DPfill(v,ro,co);
cout<<ans<<endl;
//##########################################################
return 0;
}
LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1PcmlnaW5hbCBDb3B5cmlnaHQgYmVsb25ncyB0by0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vCiEgICAgICAJCQkJCQkJCQkJCQkJCQkJCQkJIQohICAgICAgIyMgICMjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCQkjIyAgIyMJICAgICEKISAgICAgICMgICAjICAgICAgICAgICAgIAkJCQkJCQkJCQkJIyAgICMJCSEJCSAgICAgICAgICAgICAgICAKISAgICAgIAkJCQkgIyMjICAjIyMjICAjIyMgICAjIyMgICAgICMjICAgICAgICAgIyAgICAgICAgICAgICAgICAgICAgICAhCiEJCQkJCSMgICAgICMgICMgICMgICMgICMgICMgICAjICAjICAgICAgICMjICAgICAgICAgICAgICAgICAgICAgICEKIQkJCQkJIwkgICMgICMgICMjIyAgICMjIyAgICAjIyMjICAgICAgICAjICAgICAgICAgICAgICAgICAgICAgICEKIQkJCQkJIyAgICAgIyAgIyAgIyAgIyAgIyAgIyAgICMgICMgICAgICAgICMgICAgICAgICAgICAgICAgICAgICAgIQohCQkJCQkgIyMjICAjIyMjICAjIyMgICAjICAgIyAgIyAgIyAgIyMjICAjIyMgCQkJICAgICAgICAhCiEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIQovLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KI2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKLy8tLS0tLS0tLS0tLS1UZW1wbGF0ZSBiZWdpbnMtLS0tLS0tLS0tLS0tLS0tLS0tLS8vCiNkZWZpbmUgc3Mgc3RyaW5nCiNkZWZpbmUgbGFzdChzKSBzLmxlbmd0aCgpLTEKI2RlZmluZSBsbGkgbG9uZyBsb25nIGludAojZGVmaW5lIHYodHlwZSkgdmVjdG9yPHR5cGU+CiNkZWZpbmUgcHIodHlwZTEsdHlwZTIpIHBhaXI8dHlwZTEsdHlwZTI+CiNkZWZpbmUgbWEodHlwZTEsdHlwZTIpIG1hcDx0eXBlMSx0eXBlMj4KI2RlZmluZSBmIGZpcnN0CiNkZWZpbmUgcyBzZWNvbmQKI2RlZmluZSBhbGwodikgdi5iZWdpbigpLHYuZW5kKCkKI2RlZmluZSBwYiBwdXNoX2JhY2sKI2RlZmluZSBwZiBwdXNoX2Zyb250CiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgTChpLHN0YXJ0LGVuZCkgZm9yKGxsaSBpPXN0YXJ0O2k8PWVuZDtpKyspCiNkZWZpbmUgUihpLHN0YXJ0LGVuZCkgZm9yKGxsaSBpPXN0YXJ0O2k+PWVuZDtpLS0pCiNkZWZpbmUgaW5wKHZhcixzdGFydCxlbmQsYXJyYXkpIGZvcih2YXI9c3RhcnQ7dmFyPD1lbmQ7dmFyKyspIGNpbj4+YXJyYXlbdmFyXTsKI2RlZmluZSB3aGF0SXMoeCkgY291dDw8I3g8PCIgaXMgIjw8eDw8ZW5kbAojZGVmaW5lIGRiZzFEKGksc3RhcnQsZW5kLGFycikgZm9yKGxsaSBpPXN0YXJ0O2k8PWVuZDtpKyspIGNvdXQ8PGk8PCJ0aCA6ICI8PGFycltpXTw8ZW5kbDsKI2RlZmluZSBkYmcyRChpLGosczEsZTEsczIsZTIsYXJyKSBmb3IgKGxsaSBpPXMxO2k8PWUxO2krKykge2NvdXQ8PGk8PCJ0aCA6IjsgZm9yKGxsaSBqPXMyO2o8PWUyO2orKyljb3V0PDxhcnJbaV1bal08PCIgIjtjb3V0PDxlbmRsO30KCmxsaSBkeFs0XT17LTEsIDAsIDAsICsxfTsKbGxpIGR5WzRdPXswLCAtMSwgKzEsIDB9Owpjb25zdCBsbGkgTElORiA9IDFlMTg7CmNvbnN0IGxsaSBJTkYgPSAxZTk7CmNvbnN0IGxsaSBtb2QgPSAxZTkrNzsKbGxpIHBvd2VyKGxsaSBhLGxsaSBiLGxsaSBtKXsgaWYoYj09MCkgcmV0dXJuIDE7IGlmKGI9PTEpIHJldHVybiBhJW07CiAJCWxsaSB0PXBvd2VyKGEsYi8yLG0pOyB0PSh0KnQpJW07IGlmKGImMSkgdD0odCphKSVtOyByZXR1cm4gdDt9CmxsaSBtb2RJbnZlcnNlKGxsaSBhLCBsbGkgbSkgeyByZXR1cm4gcG93ZXIoYSwgbS0yLCBtKTsgfQovLy0tLS0tLS0tLS0tLS0tLVRlbXBsYXRlIGVuZHMtLS0tLS0tLS0tLS0tLS0tLS0vLwpsbGkgRFBmaWxsKHZlY3RvcjxwYWlyPGxsaSxsbGk+PiB2LGxsaSBybyxsbGkgY28pCnsKCWxsaSBpLGosRFBbcm8rMV1bY28rMV09ezB9OwoJTChpLDAsdi5zaXplKCktMSkKCXsKCQlEUFt2W2ldLmZdW3ZbaV0uc109LTE7Cgl9CglpZihEUFtyb11bY29dPT0tMSkKCQlyZXR1cm4gMDsKCUwoaSwxLHJvKS8vMXN0IENsbXMgZmlsbAoJewoJCWlmKERQW2ldWzFdPT0tMSkKCQl7CgkJCURQW2ldWzFdPTA7CgkJCUwoaixpKzEscm8pCgkJCQlEUFtqXVsxXT0wOwoJCQlicmVhazsKCQl9CgkJZWxzZQoJCQlEUFtpXVsxXT0xOwoJfQoJTChpLDEsY28pLy8xc3Qgcm93IGZpbGwKCXsKCQlpZihEUFsxXVtpXT09LTEpCgkJewoJCQlEUFsxXVtpXT0wOwoJCQlMKGosaSsxLGNvKQoJCQkJRFBbMV1bal09MDsKCQkJYnJlYWs7CgkJfQoJCWVsc2UKCQkJRFBbMV1baV09MTsKCX0KCUwoaSwyLHJvKQoJewoJCUwoaiwyLGNvKQoJCXsKCQkJaWYoRFBbaV1bal09PS0xKQoJCQkJRFBbaV1bal09MDsKCQkJZWxzZQoJCQkJRFBbaV1bal09KERQW2ktMV1bal0rRFBbaV1bai0xXSklbW9kOwoJCX0KCX0KCS8vZGJnMkQoaSxqLDEscm8sMSxjbyxEUCkKCXJldHVybiBEUFtyb11bY29dOwp9CmludCBtYWluKCkKewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CgljaW4udGllKE5VTEwpO2NvdXQudGllKE5VTEwpOwoJI2lmbmRlZiBPTkxJTkVfSlVER0UKLy8JZnJlb3BlbigiaXAudHh0IiwiciIsc3RkaW4pOwovLwlmcmVvcGVuKCJvcC50eHQiLCJ3IixzdGRvdXQpOwoJI2VuZGlmCi8vIyMjIyMjIyMjIyMjIyMjIyMjIyMgQ0FUQ0ggSEVSRSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogICAJLyogVW5jb21tZW50IGlmIHQgdGVzdCBjYXNlcwoJbGxpIHQ7CgljaW4+PnQ7Cgl3aGlsZSh0LS0pCgl7CgkJbGxpIG4sYW5zLGksajsKCgkJY291dDw8YW5zPDxlbmRsOwoJfQoJKi8KCWxsaSBybyxjbyxibGMsaTsKCWNpbj4+cm8+PmNvPj5ibGM7Cgl2ZWN0b3I8cGFpcjxsbGksbGxpPiA+IHY7CglMKGksMSxibGMpCgl7CgkJbGxpIHIsYzsKCQljaW4+PnI+PmM7CgkJdi5wYihtcChyLGMpKTsKCX0KCWxsaSBhbnM9RFBmaWxsKHYscm8sY28pOwoJY291dDw8YW5zPDxlbmRsOwovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCXJldHVybiAwOwp9IA==