#include using namespace std; constexpr long long mod = 1e9+7; int solve1(long long a, long long b, long long c, long long d, const vector & xs, const vector & ys){ set> groups; long long g1 = __gcd(a, c); long long g2 = __gcd(b, d); for (int i = 0; i < xs.size(); ++i){ groups.emplace(xs[i] % g1, ys[i] - g2 * (xs[i]/g1)); } return groups.size(); } int solve2(long long a, long long b, long long c, long long d, const vector & xs, const vector & ys){ set> groups; long long det = abs(a * d - b * c); for (int i = 0; i < xs.size(); ++i){ long long X = d * xs[i] - c * ys[i]; long long Y = - b * xs[i] + a * ys[i]; groups.emplace(((X % det) + det) % det, ((Y % det) + det) % det); } return groups.size(); } int main(){ cin.tie(0); ios::sync_with_stdio(false); long long a, b, c, d; cin >> a >> b >> c >> d; int N; cin >> N; vector xs(N, 0); vector ys(N, 0); for (int i = 0; i < N; ++i) cin >> xs[i] >> ys[i]; if (a * d == b * c){ cout << solve1(a, b, c, d, xs, ys) << endl; }else{ cout << solve2(a, b, c, d, xs, ys) << endl; } return 0; }