#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef vector<int> vi;
typedef vector<ll> vll;
#define pb push_back
#define ff first
#define ss second
struct punkt{
ll x, y; int ind;
};
vector<punkt> v;
ll xs, xm, ys, ym;
ll X, Y;
int mode, t;
ll policz(ll x1, ll x2, ll y1, ll y2){
return x1 * y2 - y1 * x2;
}
bool cmp(const punkt &a, const punkt &b) {
ll ax = a.x - X;
ll ay = a.y - Y;
ll bx = b.x - X;
ll by = b.y - Y;
ll wek = policz(ax, ay, bx, by);
if(t == 1) wek = -wek;
if(wek != 0) return wek > 0;
ll da = ax * ax + ay * ay;
ll db = bx * bx + by * by;
if(mode == 0) return da < db;
else return da > db;
}
bool cmp2(int a, int b){
return cmp(v[a], v[b]);
}
const int N = 128 * 1024;
ll tree[2 * N];
void upd(int v){
v += N;
while(v){
tree[v]++;
v >>= 1;
}
}
int query(int r){
int l = N;
r += N;
ll wyn = 0;
while(l <= r){
if(l & 1) wyn += tree[l++];
if(!(r & 1)) wyn += tree[r--];
l >>= 1;
r >>= 1;
}
return wyn;
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cin >> xs >> ys >> xm >> ym;
ll dx = xm - xs, dy = ym - ys;
int n;
cin >> n;
punkt p[n];
ll cntl = 0, cntp = 0;
vector<punkt> pkt[2];
for(int i = 0; i < n; i++){
ll x, y;
cin >> x >> y;
p[i] = {x, y, i};
ll nx = x - xs, ny = y - ys;
ll w = policz(dx, nx, dy, ny);
if(w > 0){
pkt[0].pb(p[i]);
}
else if(w == 0){
ll d = nx * dx + ny * dy;
ll dl = dx * dx + dy * dy;
if(d < 0) cntl++;
else if(d > dl) cntp++;
}
else{
pkt[1].pb(p[i]);
}
}
ll wyn = cntp * (cntp - 1) / 2 + cntl * (cntl - 1) / 2;
for(t = 0; t < 2; t++){
v = pkt[t];
int m = v.size();
if(m <= 1) continue;
X = xs;
Y = ys;
mode = 0;
sort(v.begin(), v.end(), cmp);
X = xm;
Y = ym;
mode = 1;
vi kol(m);
iota(kol.begin(), kol.end(), 0);
sort(kol.begin(), kol.end(), cmp2);
vi poz(m);
for(int i = 0; i < m; i++) poz[kol[i]] = i;
for(int i = 0; i < m; i++){
wyn += i - query(poz[i]);
upd(poz[i]);
}
for(int i = 0; i < 2 * N; i++) tree[i] = 0;
}
cout << wyn << "\n";
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgbG9uZyBkb3VibGUgbGQ7CnR5cGVkZWYgcGFpcjxpbnQsIGludD4gcGlpOwp0eXBlZGVmIHBhaXI8bGwsIGxsPiBwbGw7CnR5cGVkZWYgdmVjdG9yPGludD4gdmk7CnR5cGVkZWYgdmVjdG9yPGxsPiB2bGw7CiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgZmYgZmlyc3QKI2RlZmluZSBzcyBzZWNvbmQKCnN0cnVjdCBwdW5rdHsKICAgIGxsIHgsIHk7IGludCBpbmQ7Cn07Cgp2ZWN0b3I8cHVua3Q+IHY7CgpsbCB4cywgeG0sIHlzLCB5bTsKbGwgWCwgWTsKaW50IG1vZGUsIHQ7CgpsbCBwb2xpY3oobGwgeDEsIGxsIHgyLCBsbCB5MSwgbGwgeTIpewogICAgcmV0dXJuIHgxICogeTIgLSB5MSAqIHgyOwp9Cgpib29sIGNtcChjb25zdCBwdW5rdCAmYSwgY29uc3QgcHVua3QgJmIpIHsKICAgIGxsIGF4ID0gYS54IC0gWDsKICAgIGxsIGF5ID0gYS55IC0gWTsKICAgIGxsIGJ4ID0gYi54IC0gWDsKICAgIGxsIGJ5ID0gYi55IC0gWTsKCiAgICBsbCB3ZWsgPSBwb2xpY3ooYXgsIGF5LCBieCwgYnkpOwoKICAgIGlmKHQgPT0gMSkgd2VrID0gLXdlazsKICAgIGlmKHdlayAhPSAwKSByZXR1cm4gd2VrID4gMDsKCiAgICBsbCBkYSA9IGF4ICogYXggKyBheSAqIGF5OwogICAgbGwgZGIgPSBieCAqIGJ4ICsgYnkgKiBieTsKCiAgICBpZihtb2RlID09IDApIHJldHVybiBkYSA8IGRiOwogICAgZWxzZSByZXR1cm4gZGEgPiBkYjsKfQoKYm9vbCBjbXAyKGludCBhLCBpbnQgYil7CiAgICByZXR1cm4gY21wKHZbYV0sIHZbYl0pOwp9Cgpjb25zdCBpbnQgTiA9IDEyOCAqIDEwMjQ7CmxsIHRyZWVbMiAqIE5dOwoKdm9pZCB1cGQoaW50IHYpewogICAgdiArPSBOOwogICAgd2hpbGUodil7CiAgICAgICAgdHJlZVt2XSsrOwogICAgICAgIHYgPj49IDE7CiAgICB9Cn0KCmludCBxdWVyeShpbnQgcil7CiAgICBpbnQgbCA9IE47CiAgICByICs9IE47CiAgICBsbCB3eW4gPSAwOwogICAgd2hpbGUobCA8PSByKXsKICAgICAgICBpZihsICYgMSkgd3luICs9IHRyZWVbbCsrXTsKICAgICAgICBpZighKHIgJiAxKSkgd3luICs9IHRyZWVbci0tXTsKICAgICAgICBsID4+PSAxOwogICAgICAgIHIgPj49IDE7CiAgICB9CiAgICByZXR1cm4gd3luOwp9CgppbnQgbWFpbigpewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CgogICAgY2luID4+IHhzID4+IHlzID4+IHhtID4+IHltOwoKICAgIGxsIGR4ID0geG0gLSB4cywgZHkgPSB5bSAtIHlzOwoKICAgIGludCBuOwogICAgY2luID4+IG47CiAgICBwdW5rdCBwW25dOwoKICAgIGxsIGNudGwgPSAwLCBjbnRwID0gMDsKICAgIHZlY3RvcjxwdW5rdD4gcGt0WzJdOwoKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBuOyBpKyspewogICAgICAgIGxsIHgsIHk7CiAgICAgICAgY2luID4+IHggPj4geTsKICAgICAgICBwW2ldID0ge3gsIHksIGl9OwoKICAgICAgICBsbCBueCA9IHggLSB4cywgbnkgPSB5IC0geXM7CiAgICAgICAgbGwgdyA9IHBvbGljeihkeCwgbngsIGR5LCBueSk7CgogICAgICAgIGlmKHcgPiAwKXsKICAgICAgICAgICAgcGt0WzBdLnBiKHBbaV0pOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmKHcgPT0gMCl7CiAgICAgICAgICAgIGxsIGQgPSBueCAqIGR4ICsgbnkgKiBkeTsKICAgICAgICAgICAgbGwgZGwgPSBkeCAqIGR4ICsgZHkgKiBkeTsKCiAgICAgICAgICAgIGlmKGQgPCAwKSBjbnRsKys7CiAgICAgICAgICAgIGVsc2UgaWYoZCA+IGRsKSBjbnRwKys7CiAgICAgICAgfQogICAgICAgIGVsc2V7CiAgICAgICAgICAgIHBrdFsxXS5wYihwW2ldKTsKICAgICAgICB9CiAgICB9CgogICAgbGwgd3luID0gY250cCAqIChjbnRwIC0gMSkgLyAyICsgY250bCAqIChjbnRsIC0gMSkgLyAyOwoKICAgIGZvcih0ID0gMDsgdCA8IDI7IHQrKyl7CiAgICAgICAgdiA9IHBrdFt0XTsKICAgICAgICBpbnQgbSA9IHYuc2l6ZSgpOwoKICAgICAgICBpZihtIDw9IDEpIGNvbnRpbnVlOwoKICAgICAgICBYID0geHM7CiAgICAgICAgWSA9IHlzOwogICAgICAgIG1vZGUgPSAwOwogICAgICAgIHNvcnQodi5iZWdpbigpLCB2LmVuZCgpLCBjbXApOwoKICAgICAgICBYID0geG07CiAgICAgICAgWSA9IHltOwoKICAgICAgICBtb2RlID0gMTsKICAgICAgICB2aSBrb2wobSk7CiAgICAgICAgaW90YShrb2wuYmVnaW4oKSwga29sLmVuZCgpLCAwKTsKICAgICAgICBzb3J0KGtvbC5iZWdpbigpLCBrb2wuZW5kKCksIGNtcDIpOwoKICAgICAgICB2aSBwb3oobSk7CiAgICAgICAgZm9yKGludCBpID0gMDsgaSA8IG07IGkrKykgcG96W2tvbFtpXV0gPSBpOwoKICAgICAgICBmb3IoaW50IGkgPSAwOyBpIDwgbTsgaSsrKXsKICAgICAgICAgICAgd3luICs9IGkgLSBxdWVyeShwb3pbaV0pOwogICAgICAgICAgICB1cGQocG96W2ldKTsKICAgICAgICB9CgogICAgICAgIGZvcihpbnQgaSA9IDA7IGkgPCAyICogTjsgaSsrKSB0cmVlW2ldID0gMDsKICAgIH0KCiAgICBjb3V0IDw8IHd5biA8PCAiXG4iOwoKCiAgICByZXR1cm4gMDsKfQo=