#include<iostream>
#include<map>
using namespace std;
const int jmp[4][2] = {
{0, 1},
{0, -1},
{1, 0},
{-1, 0}
};
int dfs(int x, int y, int fx, int fy, int n, int m, map<pair<int, int>, bool>* p) {
if (x == fx && y == fy) {
delete p;
return 1;
}
int ans = 0;
for (int i = 0; i < 4; i++) {
int nx = x + jmp[i][0], ny = y + jmp[i][1];
if (nx > 0 && ny > 0 && nx <= n && ny <= m && !(*p)[make_pair(nx, ny)]) {
map<pair<int, int>, bool>* np = new map<pair<int, int>, bool>(*p);
(*np)[make_pair(nx, ny)] = 1;
ans += dfs(nx, ny, fx, fy, n, m, np);
}
}
delete p;
return ans;
}
int main() {
int n, m, t;
pair<int, int> s, f, b[10];
map<pair<int, int>, bool> *p=new map<pair<int, int>, bool>;
cin >> n >> m >> t >> s.first >> s.second >> f.first >> f.second;
for (int i = 0; i < t; i++) {
cin >> b[i].first >> b[i].second;
(*p)[b[i]] = true;
}
cout << dfs(s.first, s.second, f.first, f.second, n, m, p);
return 0;
}
大佬们帮帮本蒟蒻吧(T_T)