#include <iostream>
using namespace std;
int n,m;
int sx,sy,fx,fy;
bool map[10][10];
bool st[10][10];
int cnt=0;
int step[4][2]={{1,0},{0,1},{-1,0},{0,-1}};
void dfs(int x,int y)
{
if(x==fx&&y==fy)
{
cnt++;
return;
}
for(int i=0;i<4;++i)
{ int nx=x+step[i][0];
int ny=y+step[i][1];
if(nx>=n||ny>=m) continue;//出界
if(map[nx][ny]) continue;//障碍
if(nx<0||ny<0) continue;//出界
if(st[nx][ny]) continue;//走过
st[nx][ny]=true;
dfs(nx,ny);
st[nx][ny]=false;
}
}
int main()
{
int t; //障碍总数
scanf("%d%d%d",&n,&m,&t);
scanf("%d%d%d%d",&sx,&sy,&fx,&fy);
int x,y;
for(int i=1;i<=t;++i)
{
scanf("%d%d",&x,&y); //障碍
map[x][y]=true;
}
dfs(sx,sy);
cout<<cnt;
}