#include #include using namespace std; int gcd(int a, int b){ if (b == 0){ return a; } else { return gcd(b, a % b); } } int main(){ int P, Q; cin >> P >> Q; int N; cin >> N; vector X(N), Y(N); for (int i = 0; i < N; i++){ cin >> X[i] >> Y[i]; } if (P == 0 && Q == 0){ int ans = 0; for (int i = 0; i < N; i++){ if (X[i] == 0 && Y[i] == 0){ ans++; } } cout << ans << endl; } else { int g = gcd(P, Q); bool even = false; if ((P / g + Q / g) % 2 == 0){ even = true; } int ans = 0; for (int i = 0; i < N; i++){ if (X[i] % g == 0 && Y[i] % g == 0 && !(even && (X[i] / g + Y[i] / g) % 2 != 0)){ ans++; } } cout << ans << endl; } return 0; }