```cpp
#include <bits/stdc++.h>
using namespace std;
int a[8][8],ss;
int x1[4]={-1,0,1,0};
int y[4]={0,1,0,-1};
int N,M,T,SX,SY,FX,FY;
int dfs(int SX,int SY){
if(SX==FX&&SY==FY){
ss++;
}
for(int i=0;i<=3;i++){
if(a[SX+x1[i]][SY+y[i]]==0&&SX+x1[i]>0&&SX+x1[i<=N&&SY+y[i]>0&&SY+y[i]<=M)
{
a[SX+x1[i]][SY+y[i]]=1;
dfs(SX+x1[i],SY+y[i]);
a[SX+x1[i]][SY+y[i]]=0;}
}
}
int main(){
cin>>N>>M>>T>>SX>>SY>>FX>>FY;
for(int i=1,x,y;i<=T;i++){
cin>>x>>y;
a[x][y]=1;
}
a[SX][SY]=1;
dfs(SX,SY);
cout<<ss;
return 0;
}
```
by yzxv5 @ 2022-09-24 22:46:22