#include <stdio.h>
int a[6][6],book[6][6];
int sum=0;
int N,M,T;
int SX,SY,FX,FY;
void dfs(int x,int y)
{
int next[4][2]={{0,1},//
{1,0},//
{0,-1},//
{-1,0},//
};
int tx,ty,k;
//
if(x==FX&&y==FY)
{
sum+=1;
return;
}
//
for(k=0;k<=3;k++)
{
//计算下一个点的坐标
tx=x+next[k][0];
ty=y+next[k][1];
//判断是否越界
if(tx<1||tx>N||ty<1||ty>M)
continue;
//判断点是否为障碍物或已在路径中
if(a[tx][ty]==0&&book[tx][ty]==0)
{
book[tx][ty]==1;
dfs(tx,ty);
book[tx][ty]==0;
}
}
return ;
}
int main()
{
scanf("%d %d %d",&N,&M,&T);
scanf("%d %d %d %d",&SX,&SY,&FX,&FY);
int i,X, Y;
for(i = 0; i < T; ++i)
{
scanf("%d %d",&X,&Y);
a[X][Y]=1;//标记障碍的位置
}
a[SX][SY]==1;
dfs(SX,SY);
printf("%d",&sum);
return 0;
}