cpp
#include <bits/stdc++.h>
using namespace std;
int m, n, t, ans;
int sx, sy, fx, fy;
int p[90][90], vis[99][99], d[5] = {-1,0,1,0,-1};
void dfs(int a, int b){
if(a == fx && b == fy){
ans++;
return;
}
for(int i=0;i<5;i++){
int nx = a + d[i], ny = b + d[i+1];
if(vis[nx][ny] == 0 && p[nx][ny] == 1){
vis[a][b] = 1;
dfs(nx,ny);
vis[a][b] = 0;
}
}
}
int main(){
scanf("%d %d %d", &m, &n, &t);
scanf("%d %d %d %d", &sx, &sy, &fx, &fy);
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++) p[i][j] = 1;
for(int i=1;i<=t;i++){
int a, b;
scanf("%d %d", &a, &b);
p[a][b] = 0;
}
dfs(sx,sy);
printf("%d", ans);
return 0;
}