不知道为什么错了qwq
#include<bits/stdc++.h>
using namespace std;
int a,b,n,ans;
bool s[20][20];
int dx[4]={0,-1,0};//上右
int dy[4]={0,0,1};
void dfs(int x,int y){
if(x==a&&y==b){
ans+=1;
return ;
}
for(int i=1;i<=2;i++){
int dqx=x+dx[i];
int dqy=y+dy[i];
if(s[dqx][dqy]==0&&dqx>=1&&dqx<=a&&dqy>=1&&dqy<=b){
s[dqx][dqy]=1;
dfs(dqx,dqy);
s[dqx][dqy]=0;
}
}
}
int main(){
cin>>a>>b>>n;
for(int i=1;i<=n;i++){
int x1,y1;
cin>>x1>>y1;
s[x1][y1]=1;
}
s[1][1]=1;
dfs(1,1);
cout<<ans<<endl;
return 0;
}