#include <bits/stdc++.h>
using namespace std;
int n,m,num;
int tx,ty;
int ans;
int a[100][100]={0},b[100][100]={0};
void dfs(int x,int y) //深度优先搜索第x个数
{
if(x==tx&&y==ty)
{
ans++;
return;
}
else
{
int dx[4]={0,-1,1,0},dy[4]={-1,0,0,1};
for(int i=1;i<=4;i++) //枚举4个方向
{
int nx=x+dx[i],ny=y+dy[i];
if(nx>=1&&nx<=n&&ny>=1&&ny<=m&&a[nx][ny]!=1&&b[nx][ny]!=1) //a[]用来储存走过的位置,b[]用来储存障碍的位置
{
a[nx][ny]=1; //占位
dfs(nx,ny); //在这个位置的基础上继续往下深搜
a[nx][ny]=0;
}
}
}
}
int main()
{
int t;
cin>>n>>m>>t;
int x1,y1;
int s1,s2;
cin>>x1>>y1>>tx>>ty;
for(int i=1;i<=t;i++){
cin>>s1>>s2;
b[s1][s2]=1; //标记障碍
}
dfs(x1,y1);
cout<<ans;
return 0;
}