#include<bits/stdc++.h>
using namespace std;
struct Barrier
{
int x,y;
}B[15];
int N,M,T,SX,SY,FX,FY,cnt = 0;
int mp[6][6];
void dfs(int X,int Y)
{
if(X < 1||X > N) return;
if(Y < 1||Y > M) return;
if(X == FX && Y==FY)
{
cnt++;
return;
}
if(mp[X][Y] == 1 || mp[X][Y] == 2) return;
mp[X][Y] = 1;
//右下左上
dfs(X+1,Y);
dfs(X,Y+1);
dfs(X-1,Y);
dfs(X,Y-1);
mp[X][Y] = -1;//停止
}
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",&B[i].x,&B[i].y), mp[B[i].x][B[i].y] = 2;
if(mp[FX][FY] == 2)
{
printf("0");
return 0;
}//如果终点有障碍就到不了
dfs(SX,SY);
printf("%d",cnt);
return 0;
}