rt,#4#7#8#10WA,dalao帮帮忙QAQ
OTZ
#include <iostream>
using namespace std;
int a[1005][1005],n,m,x1,y1,x2,y2,de_x[5]={-1,1,0,0},de_y[5]={0,0,-1,1},ans;
bool found=false,flag[1005][1005];
bool c(int x,int y){
if(x<=0 || x>n || y<=0 ||y >m)return false;
if(flag[x][y])return false;
if(a[x][y]==1)return false;
return true;
}
void f(int x,int y){
if(x==n && y==m){
ans++;
return ;
}
flag[x][y]=true;
for(int i=0;i<4;i++){
int nx=x+de_x[i];
int ny=y+de_y[i];
if(c(nx,ny)){
f(nx,ny);
}
}
flag[x][y]=false;
}
int main(){
int t;
cin >>n >>m >>t;
cin >>x1 >>y1 >>x2 >>y2;
int x,y;
for(int i=1;i<=t;i++){
cin >>x >>y;
a[x][y]=1;
}
f(1,1);
cout <<ans;
return 0;
}