#include #include #include #include #include #include #include #include #include #include static const int MOD = 1000000007; using ll = long long; using u32 = uint32_t; using namespace std; template constexpr T INF = ::numeric_limits::max() / 32 * 15 + 208; int main() { int p, q, n; cin >> p >> q >> n; int cnt = 0; if(p == 0 && q == 0){ for (int i = 0; i < n; ++i) { int x, y; scanf("%d %d", &x, &y); if(x == 0 && y == 0){ cnt++; } } }else if(p == 0 || q == 0){ if(q == 0) swap(p, q); for (int i = 0; i < n; ++i) { int x, y; scanf("%d %d", &x, &y); if(x % q == 0 && y % q == 0){ cnt++; } } }else { int g = __gcd(p, q); p /= g; q /= g; if(p%2 == 0 || q%2 == 0) { for (int i = 0; i < n; ++i) { int x, y; scanf("%d %d", &x, &y); if(x % g == 0 && y % g == 0){ cnt++; } } }else { for (int i = 0; i < n; ++i) { int x, y; scanf("%d %d", &x, &y); if(x % g == 0 && y % g == 0 && (x/g+y/g) % 2 == 0){ cnt++; } } } } cout << cnt << "\n"; return 0; }