import java.io.*;
import java.util.*;
public class P1605 {
static int sx,sy;//起点
static int ex,ey;//终点
static int nodes[][] = new int[100][100];
static int N,M,T;
static int res;
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st ;
st = new StringTokenizer(br.readLine());
res = 0;
N = Integer.parseInt(st.nextToken());
M = Integer.parseInt(st.nextToken());
T = Integer.parseInt(st.nextToken());
for(int i = 1;i <= N;i++){
for(int j = 1;j <= M;j++){
nodes[i][j] = 1;
}
}
st = new StringTokenizer(br.readLine());
sx = Integer.parseInt(st.nextToken());
sy = Integer.parseInt(st.nextToken());
ex = Integer.parseInt(st.nextToken());
ey = Integer.parseInt(st.nextToken());
for(int i = 1;i <= T;i++){
st = new StringTokenizer(br.readLine());
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
nodes[x][y] = 0;//障碍物
}
dfs(sx,sy);
System.out.println(res);
}
private static void dfs(int x, int y) {
if(x == ex && y == ey){
res++;
return;
}
nodes[x][y] = 0;
if(nodes[x-1][y] != 0){// 左边
dfs(x-1,y);
nodes[x-1][y] = 1;
}
if(nodes[x+1][y] != 0){// 右边
dfs(x+1,y);
nodes[x+1][y] = 1;
}
if(nodes[x][y-1] != 0){//下边
dfs(x,y-1);
nodes[x][y-1] = 1;
}
if(nodes[x][y+1] != 0){//上边
dfs(x,y+1);
nodes[x][y+1] = 1;
}
}
}