#include<bits/stdc++.h>
using namespace std;
int n,m,t;
int jishu=0;
string maze[10];
bool vist[10][10];
int dir[4][2]={{0,-1},{0,1},{1,0},{-1,0}};
bool in(int x, int y) {
if (0 <= x && x < n && 0 <= y && y < m) {
return 1;
}
return 0;
}
void dfs(int x, int y) {
if(maze[x][y]=='z'){
jishu++;
return;
}
vist[x][y]=1;
int i;
int tx,ty;
for(i=0;i<4;i++){
tx=x+dir[i][0];
ty=y+dir[i][1];
if(maze[tx][ty]=='0'&&vist[tx][ty]==0&&in(tx,ty)){
dfs(tx,ty);
}
}
vist[x][y]=0;
}
int main() {
int i;
int j;
cin>>n>>m>>t;
for(i=1;i<=n;i++){
for(j=1;j<=m;j++){
maze[i][j]='0';
}
}
int qx,qy,zx,zy;
cin>>qx>>qy>>zx>>zy;
maze[zx][zy]='z';
int a,b;
for(i=1;i<=t;i++){
cin>>a>>b;
maze[a][b]='t';
}
dfs(qx,qy);
cout<<jishu;
return 0;
}