#include <bits/stdc++.h>
using namespace std;
int gap_pic[7][7];
int walk_pic[7][7];
int gap_num;
int begin_x,begin_y,end_x,end_y;
int x,y;
int movex[]={1,-1,0,0};
int movey[]={0,0,1,-1};
int ans=0;
bool end(int xnow,int ynow)
{
if(xnow==end_x&&ynow==end_y)
return true;
return false;
}
bool gap(int xnow,int ynow)
{
if(gap_pic[xnow][ynow]==1)
return true;
return false;
}
bool out_range(int xnow,int ynow)
{
if(xnow<=0||xnow>x||ynow<=0||ynow>y)
return true;
return false;
}
bool walk(int xnow,int ynow)
{
if(walk_pic[xnow][ynow]==1)
return true;
return false;
}
void work(int xnow,int ynow)
{
if(out_range(xnow,ynow)==true||walk(xnow,ynow)==true||gap(xnow,ynow)==true)
{
return;
}
if(end(xnow,ynow)==true)
{
ans++;
return;
}
walk_pic[xnow][ynow]=1;
for(int i=0;i<4;i++)
work(xnow+movex[i],ynow+movey[i]);
walk_pic[xnow][ynow]=0;
}
int main()
{
memset(gap_pic,0,sizeof(gap_pic));
memset(walk_pic,0,sizeof(walk_pic));
cin>>x>>y>>gap_num;
cin>>begin_x>>begin_y;
cin>>end_x>>end_y;
for(int i=0;i<gap_num;i++)
{
int a,b;
cin>>a>>b;
gap_pic[a][b]=1;
}
work(begin_x,begin_y);
cout<<ans;
}