#include<iostream>
using namespace std;
int n,m,k,xt,yt,xs,ys,xe,ye;
int ans=0;
char a[100][100];
int dirx[4]={-1,1,0,0};
int diry[4]={0,0,1,-1};
bool vis[100][100]={false};
void dfs(int x,int y){
if(x==xe&&y==ye){
ans++;
return;
}
for(int i=0;i<4;++i){
int xx=x+dirx[i];
int yy=y+diry[i];
if(vis[xx][yy]!=true&&a[xx][yy]=='.'){
vis[xx][yy]=true;
dfs(xx,yy);
vis[xx][yy]=false;
// cout<<xx<<" "<<yy;
}
}
}
void clearmap(){
for(int i=0;i<=n+1;i++){
for(int j=0;j<=m+1;j++){
a[i][j]='.';
}
}
}
int main(){
clearmap();
cin>>n>>m>>k;
cin>>xs>>ys>>xe>>ye;
for(int i=0;i<k;i++){
cin>>xt>>yt;
a[xt][yt]='#';
}
for(int i=1;i<=n;++i){
a[i][m]='#';
}
for(int i=1;i<=m;++i){
a[n][i]='#';
}
for(int i=1;i<=n;++i){
a[i][0]='#';
}
for(int i=1;i<=m;++i){
a[0][i]='#';
}
dfs(xs,ys);
cout<<ans;
return 0;
}