#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1000+5;
int n,m,t;
int sx,sy,fx,fy;
bool a[N][N];
bool vis[N][N];
int tx,ty;
int ans = 0;
void dfs(int nowx,int nowy){
if(nowx == fx && nowy == fy){
ans++;
return;
}
else{
if(nowx+1 <= n && nowy+1 <= m && !a[nowx+1][nowy+1] && !vis[nowx+1][nowy+1]){
vis[nowx][nowy] = 1;
dfs(nowx+1,nowy+1);
vis[nowx][nowy] = 0;
}
if(nowx+1 <= n && nowy-1 >= 1 && !a[nowx+1][nowy-1] && !vis[nowx+1][nowy-1]){
vis[nowx][nowy] = 1;
dfs(nowx+1,nowy-1);
vis[nowx][nowy] = 0;
}
if(nowx-1 >= 1 && nowy+1 <= m && !a[nowx-1][nowy+1] && !vis[nowx-1][nowy+1]){
vis[nowx][nowy] = 1;
dfs(nowx-1,nowy+1);
vis[nowx][nowy] = 0;
}
if(nowx-1 >= 1 && nowy-1 >= 1 && !a[nowx-1][nowy-1] && !vis[nowx-1][nowy-1]){
vis[nowx][nowy] = 1;
dfs(nowx-1,nowy-1);
vis[nowx][nowy] = 0;
}
}
}
signed main(){
cin>>n>>m>>t;
cin>>sx>>sy>>fx>>fy;
for(int i = 1;i <= t;i++){
cin>>tx>>ty;
a[tx][ty] = 1;
}
dfs(sx,sy);
cout<<ans;
return 0;
}