#include<bits/stdc++.h>
using namespace std;
const int di_x[4]={0,0,-1,1};
const int di_y[4]={1,-1,0,0};
bool vis[10][10];
int n,m,t,in_x,in_y,out_x,out_y,ans;
void dfs(int x,int y){
if(x==out_x&&y==out_y){
ans++;
return;
}
for(int k=0;k<4;k++){
int now_x=x+di_x[k],now_y=y+di_x[k];
if(now_x<1||now_x>n||now_y<1||now_y>m){
continue;
}
vis[now_x][now_y];
dfs(now_x,now_y);
}
}
int main(){
scanf("%d%d%d%d%d%d%d",&n,&m,&t,&in_x,&in_y,&out_x,&out_y);
for(int i=1;i<=t;i++){
int ob_x,ob_y;
scanf("%d%d",&ob_x,&ob_y);
vis[ob_x][ob_y]=1;
}
vis[in_x][in_y]=1;
dfs(in_x,in_y);
return 0;
} ```