#include <stdio.h>
int map[100][100],dx[4]={0,0,1,-1},dy[4]={-1,1,0,0},cnt,sx,sy,fx,fy,t,n,m,l,r;;
bool flag[100][100];
bool check(int x,int y)
{
if(flag[x][y]==1||map[x][y]==1||x<sx||y<sy||x>fx||y>fy)
{
return 0;
}
return 1;
}
void dfs(int x,int y)
{
if(x==fx&&y==fy)
{
cnt++;
return ;
}
else
{
for(int i=0;i<4;i++)
{
if(check(x+dx[i],y+dy[i])==1)
{
flag[x+dx[i]][y+dy[i]]=1;
dfs(x+dx[i],y+dy[i]);
flag[x+dx[i]][y+dy[i]]=0;
}
}
}
}
int main()
{
scanf("%d%d%d",&n,&m,&t);
scanf("%d%d%d%d",&sx,&sy,&fx,&fy);
for(int i=1;i<=t;i++)
{
scanf("%d%d",&l,&r);
map[l][r]=1;
}
flag[sx][sy]=1;
dfs(sx,sy);
printf("%d",cnt);
return 0;
}