import java.util.*;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
static int n;
static int m;
static int t;
static int[][] state;
static int[][] dp;
static int x2;
static int y2;
static int ans;
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
n = scan.nextInt();
m = scan.nextInt();
t = scan.nextInt();
dp = new int[n][m];
state = new int[n][m];
int x1 = scan.nextInt();
int y1 = scan.nextInt();
x2 = scan.nextInt()-1;
y2 = scan.nextInt()-1;
for(int i = 0;i<t;i++)
{
int t1 = scan.nextInt();
int t2 = scan.nextInt();
dp[t1-1][t2-1] = 1;
}
for(int i = 0;i<n;i++)
{
for(int j = 0;j<m;j++)
{
if(i==x1-1&&j==y1-1)
{
dfs(i,j);
}
}
}
System.out.println(ans);
}
public static void dfs(int x,int y)
{
if(x<0||x>=n||y<0||y>=m||state[x][y]==1)
{
return;
}
if(x==x2&&y==y2)
{
ans++;
return;
}
state[x][y] = 1;
if(x+1<m&&state[x+1][y]==0&&dp[x+1][y]==0)
{
dfs(x+1,y);
}
if(x-1>=0&&state[x-1][y]==0&&dp[x-1][y]==0)
{
dfs(x-1,y);
}
if(y+1<n&&state[x][y+1]==0&&dp[x][y+1]==0)
{
dfs(x,y+1);
}
if(y-1>=0&&state[x][y-1]==0&&dp[x][y-1]==0)
{
dfs(x,y-1);
}
state[x][y] = 0;
return;
}
}