#include<bits/stdc++.h>
using namespace std;
int n,m,t,ans;
char Map[505][505];
bool vis[1000][1000]={false};
const int dx[]={-1,1,0,0};
const int dy[]={0,0,-1,1};
void dfs(int x,int y)
{
int newx,newy;
if(Map[x][y]=='g')return;
for(int i=0;i<4;i++)
{
newx=x+dx[i];
newy=y+dy[i];
if(newx<1||newx>n||newy<1||newy>m||Map[newx][newy]=='#'||vis[newx][newy])
{
continue;
}
vis[newx][newy]=true;
ans++;
dfs(newx,newy);
vis[newx][newy]=false;
}
}
int main()
{
int sx,sy,ex,ey,xx,yy;
cin>>n>>m>>t;
cin>>sx>>sy>>ex>>ey;
Map[ex][ey]='g';
for(int i=0;i<t;i++)
{
cin>>xx>>yy;
Map[xx][yy]='#';
if(xx==ex&&yy==ey)
{
cout<<0;
return 0;
}
}
vis[sx][sy]=true;
dfs(sx,sy);
cout<<ans;
return 0;
}