#include<bits/stdc++.h>
using namespace std;
int num;
int n,m,t;
int sx,sy,ex,ey;
int dx[5]={0,1,-1,0,0};
int dy[5]={0,0,0,-1,1};
struct mg{
int x;
int y;
};
queue<mg> q;
int s[8][9];
int bfs(int xx,int yy)
{
s[xx][yy]=1;
mg temp,now;
now.x=xx;
now.y=yy;
q.push(now);
while(!(q.empty()))
{
for(int i=1;i<=4;++i)
{
temp.x=q.front().x+dx[i];
temp.y=q.front().y+dy[i];
if(temp.x<=m&&temp.x>=1&&temp.y<=n&&temp.y>=1&&!(s[temp.x][temp.y]))
{
s[temp.x][temp.y]=1;
q.push(temp);
if(temp.x==ex&&temp.y==ey)
{
num++;
}
}
}
q.pop();
}
}
int main()
{
cin>>n>>m>>t;
scanf("%d%d%d%d",&sx,&sy,&ex,&ey);
for(int i=1,a,b;i<=t;++i)
{
cin>>a>>b;
s[a][b]=1;
}
bfs(sx,sy);
printf("%d",num);
return 0;
}